题解 | #和为S的连续正数序列#Java高斯加法公式

和为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> >();
        for(int i = 1; i <= sum / 2; i++){
            for(int j = 1; j < sum; j++){
                if((2 * i + j)*(j+1) == sum * 2){
                    res.add(helper(i,j));
                    continue;
                }
                if((2 * i + j)*(j+1) > sum * 2){
                    break;
                }
            }
        }
        return res;
    }
    ArrayList<Integer> helper(int i, int j){
         ArrayList<Integer> ans = new  ArrayList<Integer>();
        int n = i + j;
        for(; i <= n; i++){
            ans.add(i);
        }
        return ans;
    }
}
全部评论

相关推荐

明天不下雨了_人机版:让我们大声的说出来:以前的未来就是现在
点赞 评论 收藏
分享
买蜜雪也用卷:我觉得应该没有哪个人敢说自己熟练使用git,代码分支一复杂还是得慢慢寻思一下的,不过基本的拉代码提交代码还有分支什么的是应该会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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