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

和为S的连续正数序列

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

import java.util.ArrayList;
public class Solution {
    public ArrayList<ArrayList<Integer> > FindContinuousSequence(int sum) {
        ArrayList<ArrayList<Integer>> res = new  ArrayList<ArrayList<Integer>>();

        int left = 1, right = 2;
        while(left < right){
            int s = (right + left)*(right - left + 1)/2;
            if(s > sum){
                left++;
            }else if(s < sum){
                right++;
            }else{
                ArrayList<Integer> list = new ArrayList<>();
                for(int i = left; i <= right; ++i){
                    list.add(i);
                }
                res.add(list);
                right++;
            }
        }

        return res;
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
Rac000n:淘天-客户运营部-AI研发工程师,智能客服方向,暑期实习招聘,欢迎联系
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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