和为S的连续正数序列
2017-02-27 23:32
28 查看
vector<vector<int> > FindContinuousSequence(int sum) { vector<vector<int>> res; if(sum <3) return res ; int small = 1; int big = 2; int middle = (1+sum)/2; int curSum = small +big; vector<int> path; while(small <middle){ if(curSum == sum){ path.clear(); printfRes(path,small,big); res.push_back(path); } while((curSum > sum) && (small < middle)){ curSum -= small; small++; if(curSum == sum){ path.clear(); printfRes(path,small,big); res.push_back(path); } } big++; curSum += big; } return res; } void printfRes(vector<int> &res,int small,int big){ for(int i = small;i<=big;i++){ res.push_back(i); } }
相关文章推荐
- 输入一个正数s,打印出所有和为s的连续正数序列
- 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一
- (C++)剑指offer-41:和为S的连续正数序列(知识迁移能力)
- 【剑指Offer学习】【面试题41:和为s 的两个数字vs 和为s 的连续正数序列】
- 41.和为s的两个数字VS和为s的连续正数序列
- 数据结构——算法之(020)( 和为n连续正数序列)
- 输入一个正数n,输出所有和为n连续正数序列。
- 【剑指offer】和为定值的连续正数序列
- 剑指Offer面试题41(Java版):和为s的两个数字VS和为s的连续正数序列
- 剑指offer(21)-和为S的连续正数序列
- 输入一个正数n,输出所有和为n连续正数序列。
- 面试题41:和为s的两个数字,和为s的连续正数序列
- 和为S的连续正数序列
- 输入一个正数n,输出所有和为n连续正数序列。
- 面试题41-2:和为s的连续正数序列
- 和为S的连续正数序列
- 《剑指offer》——和为S的连续正数序列
- 和为S的连续正数序列
- 微软100题第51题:和为n连续正数序列
- 输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序