方法一:双指针
class Solution {
public:
vector<vector<int>> findContinuousSequence(int target) {
vector<vector<int>> result;
//连续的数那么中间的两个加起来要么等于target要么大于target 8-> 4 + 5 7 -> 3 + 4
int left = 1;
int right = 1;
int sum = 0;
while( left <= target / 2)
{
vector<int> vec;
if( sum < target )
{
sum += right;
right++;
}
else if( sum > target )
{
sum -= left;
left++;
}
else
{
if( right- left > 1)
{
for(int i = left; i < right; i++)
{
vec.push_back(i);
}
result.push_back(vec);
sum -= left;
left++;
}
}
}
return result;
}
};