剑指 Offer 57 - II. 和为s的连续正数序列
class Solution {
public int[][] findContinuousSequence(int target) {
List<List<Integer>> list = new ArrayList<>();
List<Integer> res = new ArrayList<>();
int s = 1;
for(int i = 1, j = 1; i <= target; i ++)
{
while(s < target)
{
j ++;
s += j;
}
if(s == target && j - i > 0)
{
for(int k = i; k <= j; k ++) res.add(k);
list.add(new ArrayList<>(res));
res.clear();
}
s -= i;
}
int[][] ans = new int[list.size()][];
for(int i = 0; i < list.size(); i ++){
int nn = list.get(i).size();
ans[i] = new int[nn];
for(int j = 0; j < list.get(i).size(); j ++){
ans[i][j] = list.get(i).get(j);
}
}
return ans;
}
}
双指针