输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。
序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。
class Solution {
public int[][] findContinuousSequence(int target) {
List<int[]> list = new ArrayList<>();
int start=1 ;int end=1;
int sum=0;
while(start<=target/2){
if(sum==target){
int a[]=new int [end-start];
for(int i=start;i<end;i++){
a[i-start]=i;
}
list.add(a);
sum-=start;
start++;
}else if(sum<target){
sum+=end;
end++;
}else if(sum>target){
sum-=start;
start++;
}
}
return list.toArray(new int[list.size()][]);
}
}