剑指offer——和为s的两个数字VS和为s的连续正数序列
来源:互联网 发布:人工智能综合报告 编辑:程序博客网 时间:2024/05/16 12:14
两种方法都类似于快排的变形。
#include <iostream>#include <string>using namespace std;bool FindNumbersWithSum(int data[],int length,int sum,int *num1,int *num2){bool found=false;if (length<1||num1==NULL||num2==NULL){return found;}int ahead=length-1;int behind=0;while(ahead>behind){long curSum=data[ahead]+data[behind];if (curSum==sum){*num1=data[behind];*num2=data[ahead];found=true;break;}else if(curSum>sum){ahead--;}else{behind++;}}return found;}void PrintContinuousSequence(int small,int big){for (int i=small;i<=big;i++){cout<<i<<" ";}cout<<endl;}void FindContinuousSequence(int sum){if (sum<3){return;}int small=1;int big=2;int middle=(1+sum)/2;int curSum=small+big;while(small<middle){if (curSum==sum){PrintContinuousSequence(small,big);}while(curSum>sum&&small<middle){curSum-=small;small++;if (curSum==sum){PrintContinuousSequence(small,big);}}big++;curSum+=big;}}int main(){int str[]={1,2,3,4,5,6,7,8,9,10};int m,n;FindNumbersWithSum(str,10,13,&m,&n);cout<<m<<n<<endl;FindContinuousSequence(100);return 0;}
0 0
- 剑指offer---和为s的两个数字VS和为s的连续正数序列
- 剑指Offer:和为 S 的两个数字 VS 和为 S 的连续正数序列
- 剑指offer-和为s的两个数字VS和为s的连续正数序列
- 剑指offer——和为s的两个数字VS和为s的连续正数序列
- 剑指offer 面试题41—和为s的两个数字VS和为s的连续正数序列
- 剑指offer 41 - 和为s的两个数字VS为s的连续正数序列
- 【剑指offer之和为s的两个数字VS和为s的连续正数序列】
- 剑指offer面试题41和为s的两个数字VS和为s的连续正数序列
- [剑指offer][面试题41]和为s的两个数字 VS 和为s的连续正数序列
- 剑指Offer之 - 和为s的两个数字 VS 和为s的连续正数序列
- 【剑指Offer学习】【面试题41:和为s 的两个数字vs 和为s 的连续正数序列】
- 剑指offer面试题 和为s的两个数字 VS 和为s的连续正数序列
- 剑指offer-面试题41:和为s的两个数字VS和为s的连续正数序列
- 【剑指offer-Java版】41和为s的两个数字VS和为s的连续正数序列
- 剑指offer之面试题41和为s的两个数字VS和为s的连续正数序列
- 剑指offer--面试题41:和为S的两个数字 vs 和为S的连续正数序列
- 剑指offer:和为s的两个数字VS和为s的连续正数序列(java)
- 剑指Offer-面试题41-和为s 的两个数字vs 和为s 的连续正数序列
- C语言语言中符号的优先级的口诀
- Android网络通信之网络图片查看器
- android程序中service异常
- 标记使用分类
- Python模拟栈 和 队列
- 剑指offer——和为s的两个数字VS和为s的连续正数序列
- 谷歌公司15个最变态的面试智力题(附参考答案)
- ubuntu14.4 Sublime text 3 解决中文输入问题
- Pyhton 常用模块
- 重载和重写
- 第一遍机房收费系统-----数据库的附加
- 各类排序算法(已包装好)
- 动态绑定的内幕
- 两个数据交换的几种方式