前缀和:
class Solution {
public:
vector<vector<int> > FindContinuousSequence(int sum) {
vector<int> s;
s.push_back(0);
for(int i=1;i<sum/2+2;i++){
s.push_back(s[i-1] + i);
}
vector<vector<int> > ans;
for(int i=0;i<sum/2+2;i++){
for(int j=i+2;j<sum/2+2;j++){
if(s[j] - s[i] == sum){
vector<int> t;
for(int k=i+1;k<=j;k++) t.push_back(k);
ans.push_back(t);
break;
}
if(s[j] - s[i] > sum ) break;
}
}
return ans;
}
};
前缀和求连续序列
本文介绍了一种使用前缀和的方法来寻找所有加和等于指定值的连续正整数序列。通过构建前缀和数组并进行两层遍历,算法能够有效地找出所有满足条件的连续序列。
898

被折叠的 条评论
为什么被折叠?



