Leetcode——和为 s 的连续正数序列(List转数组)

Posted Yawn,

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode——和为 s 的连续正数序列(List转数组)相关的知识,希望对你有一定的参考价值。

1. 题目

2. 题解

  • 维护一个滑动窗口即可
  • 当前窗口内值大于target, left右移
  • 当前窗口内值小于targer,right右移
class Solution {
    public int[][] findContinuousSequence(int target) {
        int left = 1, right = 2, s = 3;
        List<int[]> res = new ArrayList<>();

        while(left < right) {
            if(s == target) {
                int[] ans = new int[right - left + 1];
                for(int k = left; k <= right; k++)
                    ans[k - left] = k;
                res.add(ans);
            }
            if(s >= target) {
                s -= left;
                left++;
            } else {
                right++;
                s += right;
            }
        }
        return res.toArray(new int[0][]);
    }
}


以上是关于Leetcode——和为 s 的连续正数序列(List转数组)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode Algorithm 剑指 Offer 57 - II. 和为s的连续正数序列

Leetcode——和为 s 的连续正数序列(List转数组)

[LeetCode]剑指 Offer 57 - II. 和为s的连续正数序列

菜鸟系列 Golang 实战 Leetcode —— 面试题57 - II. 和为s的连续正数序列

Leetcode剑指 Offer 57 - II. 和为s的连续正数序列(双指针)

LeetCode剑指offer57 II和为s的连续正数序列(用vector模拟滑动窗口)