一种暴力解法 但是起始位置的检测只要暴力检测到sum的一半就好了 因为sum/2+sum/2+1必然是超过sum的 维护两个ArrayList即可
public ArrayList<ArrayList<integer> > FindContinuousSequence(int sum) {
ArrayList<ArrayList<integer> > res = new ArrayList<ArrayList<integer>>();
ArrayList<integer> chain = new ArrayList<integer>();
int start=1;
while(start<((sum>>1)+1)) {
int i = start;
int sumtemp=0;
while(sumtemp<sum) {
chain.add(i);
sumtemp+=i;
i++;
}
if(sumtemp==sum) {
res.add(new ArrayList<integer>(chain));
}
chain.removeAll(chain);
start++;
sumtemp=0;
}
return res;
}</integer></integer></integer></integer></integer></integer>