题目如下
思路与代码
就是穷举了,但是这个暴力可以有简化的
一段成功了就砍头,不会成功了也砍头
懂了吧,砍头很生动,很容易理解吧!
class Solution {
public:
vector<vector<int> > FindContinuousSequence(int sum) {
vector<vector<int>> res;
vector<int> kind;
int total=0;
for(int i=1;i<sum;i++){
if(total+i<sum){
kind.push_back(i);
total+=i;
}else if(total+i==sum){
kind.push_back(i);
total+=i;
res.push_back(kind);
total-=kind[0];
kind.erase(kind.begin(),kind.begin()+1);
}else if(total+i>sum){
total-=kind[0];
kind.erase(kind.begin(),kind.begin()+1);
i--;
}
}
return res;
}
};