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

和为S的连续正数序列

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

import java.util.ArrayList;
public class Solution {
    public ArrayList<ArrayList<Integer> > FindContinuousSequence(int sum) {
        //(首项+首项+项数-1)*项数/2
        int tmp_init=0;
        ArrayList<ArrayList<Integer> > ans=new ArrayList<>();
        for(int i=sum-1;i>1;i--)
        {
            if(2*sum%i!=0)
                continue;
            if((2*sum/i-(i-1))%2!=0)
                continue;
            tmp_init=(2*sum/i-(i-1))/2;
            if(tmp_init<=0)
                continue;
            ArrayList<Integer> tmp=new ArrayList<>();
            for(int j=0;j<i;j++)
            {
                tmp.add(tmp_init+j);
            }
            ans.add(tmp);
            
       
        }
        return ans;
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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