抽象ダブルポインタ
class Solution {
public:
vector<vector<int>> findContinuousSequence(int target) {
vector<vector<int>>res;
if(target<0)return res;
int small=1,big=2;
int middle=(1+target)/2;//small的最大数,一个sum如果最小的为sum的一半,那么再加是不可能比sum相等的了
int currSum=small+big;
while(small<middle)
{
if(currSum==target)
{
vector<int>temp;
for(int i=small;i<=big;++i)
temp.push_back(i);
res.push_back(temp);
}
if(currSum<target)
{
big++;
currSum+=big;
}
else
{
currSum-=small;
small++;
}
}
return res;
}
};