暴力求解
注意到连续和最大的情况是sum/2+sum/2+1.且这是针对sum为奇数。
public static ArrayList<ArrayList<Integer>> FindContinuousSequence(int sum) { ArrayList<ArrayList<Integer>> result = new ArrayList<>(); ArrayList<Integer> tem = new ArrayList<>(); if (sum <= 1) { return result; } for (int i = 1; i <= sum / 2+1; i++) { int SUM = 0; int k = i; while (true) { SUM += k; tem.add(k); k++; if (SUM > sum) { tem.clear(); break; } if (SUM == sum) { result.add(new ArrayList<>(tem)); tem.clear(); break; } } } return result; }