双指针
和为S的连续正数序列
https://www.nowcoder.com/practice/c451a3fd84b64cb19485dad758a55ebe
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param sum int整型
* @return int整型ArrayList<ArrayList<>>
*/
public ArrayList<ArrayList<Integer>> FindContinuousSequence (int sum) {
// write code here
ArrayList<ArrayList<Integer>> res = new ArrayList<>();
if(sum == 0)
return res;
// for初始化双指针的方式
for(int l = 1, r = 2; l < r;){
int sum1 = (l + r) * (r - l + 1) / 2;
if(sum1 == sum){
ArrayList<Integer> temp = new ArrayList<Integer>();
for(int i = l; i <= r; i++)
temp.add(i);
res.add(temp);
l++;
}
else if(sum1 < sum)
r++;
else
l++;
}
return res;
}
}


