输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
class Solution {
public:
vector<vector<int> > FindContinuousSequence(int sum) {
int low=1,high=2;
vector<vector<int> > r;
while(low<high){
int s=(low+high)*(high-low+1)/2;
if(s<sum)
high++;
else if(s == sum){
vector<int >a;
for(int i=low;i<=high;i++){
a.push_back(i);
}
r.push_back(a);
low++;
}
else{
low++;
}
}
return r;
}
};