java滑动窗口

和为S的连续正数序列

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

java滑动窗口

import java.util.ArrayList;
public class Solution {
    public ArrayList<ArrayList<Integer> > FindContinuousSequence(int sum) {
        ArrayList<ArrayList<Integer> > res = new ArrayList<>();
        int i = 1, j = 2, presentSum = 3;
        while (i < j) {
            if (presentSum < sum) {
                presentSum += ++j;
            }else if (presentSum > sum) {
                presentSum -= i++;
            }else {
                ArrayList<Integer> list = new ArrayList();
                for (int k = i; k <= j; k ++){
                    list.add(k);
                }
                res.add(list);
                presentSum += ++j;
                presentSum -= i++;
                presentSum -= i++;
            }
        }
        return res;
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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