57.2 和为 S 的连续正数序列
优质
小牛编辑
178浏览
2023-12-01
题目描述
输出所有和为 S 的连续正数序列。
例如和为 100 的连续序列有:
// [9, 10, 11, 12, 13, 14, 15, 16] [18, 19, 20, 21, 22]。
解题思路
// java public ArrayList<arraylist> FindContinuousSequence(int sum) { ArrayList<arraylist> ret = new ArrayList<>(); int start = 1, end = 2; int curSum = 3; while (end < sum) { if (curSum > sum) { curSum -= start; start++; } else if (curSum < sum) { end++; curSum += end; } else { ArrayList list = new ArrayList<>(); for (int i = start; i <= end;="" i++)="" list.add(i);="" ret.add(list);="" cursum="" -="start;" start++;="" end++;="" +="end;" }="" return="" ret;="" </arraylist</arraylist