AcWing 76. 和为S的连续正数序列
原题链接
中等
作者:
葱花鸡蛋
,
2020-03-25 12:43:15
,
所有人可见
,
阅读 563
//0054和为S的连续正数序列
class Solution {
public:
//开始没有想到求和公式,单调性也没有想到(菜了菜了
//暴力的二分一会补
vector<vector<int> > findContinuousSequence(int sum) {
vector<vector<int> >ans; ans.clear();
int l = 1, h = 1, s = 1;
//这里对 l <= h 可以不做控制
for (;l < sum && l <= h; ++l) {
while (s < sum) {
s += ++h;
}
if (s == sum) {
vector<int>buff; buff.clear();
for (int i = l; i <= h; ++i) buff.push_back(i);
ans.push_back(buff);
}
s -= l;
}
return ans;
}
};