博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
温故知新,基础复习(一个有序从大到小不重复的数列,任意给出一个sum值,求出数列中所有满足和为sum的数对)...
阅读量:6163 次
发布时间:2019-06-21

本文共 1324 字,大约阅读时间需要 4 分钟。

温故知新,基础复习(一个有序从大到小不重复的数列,任意给出一个sum值,求出数列中所有满足和为sum的数对)

#include
#include
void PrintSumNumbers(int Arra[],int ASize,int Sum){ //O(1) if (ASize<2) { printf("The size of the Arra is invalid.\n"); return; } if(Sum>=0) { if(Arra[ASize-1]>=Sum || Arra[0]<=0) { printf("The minimum value is bigger than the sum or the maximum value is equal or lesser than 0. \n"); return; } } if (Sum<0) { if (Arra[0]<=Sum || Arra[ASize-1]>=0) { printf("The maximum value is smaller than the sum or the minimum value is equal or greater than 0. \n"); return; } } int LeftIndex=0,RightIndex=ASize-1; int MinTempValue = Arra[ASize-1]; int MaxTempValue = Arra[0]; if (Sum>=0&&MinTempValue<0) { if (MaxTempValue>=0) { MinTempValue = Sum-MaxTempValue; for (int i = ASize-1; i != 0; i--) { if (Arra[i]>=MinTempValue) { RightIndex=i; break; } } } } else { MaxTempValue = Sum-Arra[ASize-1]; for(int i=0;i
Sum) { LeftIndex++; } else { RightIndex--; } }}int main(){ int Arra[] = {2147483647,2147483646,9,8,7,6,5,4,3,2,1,0,-1,-2,-3,-2147483646,-2147483647,-2147483647-1}; PrintSumNumbers(Arra,sizeof(Arra)/sizeof(Arra[0]),2147483647);}

转载地址:http://flrfa.baihongyu.com/

你可能感兴趣的文章
Apache通过mod_php5支持PHP
查看>>
java学习:jdbc连接示例
查看>>
Silverlight 如何手动打包xap
查看>>
HTTP缓存应用
查看>>
KubeEdge向左,K3S向右
查看>>
DTCC2013:基于网络监听数据库安全审计
查看>>
CCNA考试要点大搜集(二)
查看>>
ajax查询数据库时数据无法更新的问题
查看>>
Kickstart 无人职守安装,终于搞定了。
查看>>
linux开源万岁
查看>>
linux/CentOS6忘记root密码解决办法
查看>>
25个常用的Linux iptables规则
查看>>
集中管理系统--puppet
查看>>
Exchange 2013 PowerShell配置文件
查看>>
JavaAPI详解系列(1):String类(1)
查看>>
HTML条件注释判断IE<!--[if IE]><!--[if lt IE 9]>
查看>>
发布和逸出-构造过程中使this引用逸出
查看>>
使用SanLock建立简单的HA服务
查看>>
Subversion使用Redmine帐户验证简单应用、高级应用以及优化
查看>>
Javascript Ajax 异步请求
查看>>