和为S的连续正数序列
2016-08-17 18:00
190 查看
输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
class Solution { public: vector<vector<int> > FindContinuousSequence(int sum) { int half = sum / 2; int prev = 1, curr = 1; int currSum = 1; vector<vector<int> > res; while(curr <= half){ while(curr <= half && currSum < sum){ curr++; currSum += curr; } while(prev < curr && currSum > sum){ currSum -= prev; prev++; } if(currSum == sum){ vector<int> vec; for(int i = prev; i <= curr; ++i) vec.push_back(i); res.push_back(vec); currSum -= prev; prev++; } } return res; } };
相关文章推荐
- 剑指offer 编程题(40):和为S的连续正数序列
- 剑指offer:和为S的连续正数序列
- 和为n 连续正数序列
- 输入一个正数 n,输出所有和为n 连续正数序列。
- C++输出所有和为S的连续正数序列(牛客剑指offer)
- 和为n的连续正数序列
- 和为S的连续正数序列
- 程序员面试题100题第26题——和为n连续正数序列
- 牛客:剑指offer:和为S的连续正数序列 (Java)
- 九度OJ-题目1354:和为S的连续正数序列
- 每天一道算法题(12)——和为n的连续正数序列或者随机数
- 和为S的连续正数序列
- 剑指offer:和为S的连续正数序列
- 和为S的连续正数序列
- 剑指Offer之和为S的连续正数序列
- 和为s的两个数字VS和为s的连续正数序列
- 剑指Offer_面试题41_和为s的两个数字 VS 和为s的连续正数序列
- 网易面试题:和为n连续正数序列
- 41 和为 s 的连续正数序列
- 39、和为S的连续正数序列