题解 | 和为S的连续正数序列

和为S的连续正数序列

https://www.nowcoder.com/practice/c451a3fd84b64cb19485dad758a55ebe

import java.util.*;


public class Solution {
     // 输出所有和为S的连续正数序列
     // 连续、和为S
     // 从连续入手,
    public ArrayList<ArrayList<Integer>> FindContinuousSequence (int sum) {
        ArrayList<ArrayList<Integer>> list = new ArrayList<>();
        // write code here
        if((sum == 1 || sum == 0)) return list;
        // 双指针:一个指针遍历,一个指针在前
        for(int i = 1; i <= sum / 2; i++){
            int subSum = i;
            ArrayList<Integer> subList = new ArrayList<>();
            subList.add(i);
            for(int j = i + 1; j <= sum / 2 + 1; j++){
                subSum += j;
                subList.add(j);
                if(subSum == sum){
                    list.add(subList);
                    break;
                }
            }
        }
        return list;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
05-28 12:15
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务