题解 | #和为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> > we  = new ArrayList<>();
       int low=1,high=1;
        int num=0;
        while(high < sum){
            if(num < sum){
                num+=high;
                high++;
            }
            if(num > sum){
                num-=low;
                low++;
            }
            if(num == sum){
                ArrayList<Integer> you = new ArrayList<>();
                for(int i=low;i<high;i++){
                    you.add(i);
                }
                we.add(you);
                num+=high;
                high++;
            }
        }
        return we;
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务