- class Solution {
- public:
- vector<vector<int>> FindContinuousSequence(int sum) {
- vector<vector<int>> res;
- int left = 1;
- int right = 2;
- while(left<right){
- int curSum = (right+left)/2*(right-left+1);
- if(curSum == sum){
- vector<int> tmp;
- for(int i = left; i <= right; i++){
- tmp.push_back(i);
- }
- res.push_back(tmp);
- left++;
- }
- else if(curSum < sum){
- right++;
- }
- else{
- left++;
- }
- }
- return res;
- }
- };
滑动窗口法
来源: http://www.bubuko.com/infodetail-3355794.html