思路
解一下K神的图
作者:jyd
链接:https://leetcode-cn.com/problems/he-wei-sde-lian-xu-zheng-shu-xu-lie-lcof/solution/jian-zhi-offer-57-ii-he-wei-s-de-lian-xu-t85z/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
class Solution {
public:
vector<vector<int>> findContinuousSequence(int target) {
// 由于至少含有两个数,因此i=1, j=2, sum = 3
int i = 1, j = 2;
int sum = 3;
vector<vector<int>> res;
// 如果移动i,移动之前sum先去i
// 如果要移动j, 则移动之后sum加上j
// 大于等于都要移动i
// 小于则移动j
while(i<j){
if(sum==target){
vector<int> temp;
for(int k=i;k<=j;k++){
temp.push_back(k);
}
res.push_back(temp);
sum -= i; // 要移动i,移动之前 sum减去i
i++; // 等于target时移动i
}else if(sum<target){
// 移动j,移动之后 sum加上j
j++;
sum += j;
}else{
// 移动i,移动之前 sum减去i
sum -= i;
i++;
}
}
return res;
}
};