思路:双指针
class Solution {
public int[][] findContinuousSequence(int target) {
List<int[]> res = new ArrayList<>();
for (int l = 1, r = 2; l < r;) {
int sum = (l + r) * (r - l + 1) / 2;
if (sum == target){
int[] tmp = new int[r - l + 1];
for (int i = l; i <= r; i++) {
// i - l 使索引从 0 开始
tmp[i - l] = i;
}
res.add(tmp);
// 注意,添加数组后左指针一定会向前移动。
l++;
}else if (sum < target){
r++;
}else {
l++;
}
}
return res.toArray(new int[res.size()][]);
}
}