LCR 180. 文件组合

解题思路:

利用滑动窗口

class Solution {
    public int[][] fileCombination(int target) {
    int i = 1; // 滑动窗口的左边界
    int j = 1; // 滑动窗口的右边界
    int sum = 0; // 滑动窗口中数字的和
    List<int[]> res = new ArrayList<>();

    while (i <= target / 2) {
        if (sum < target) {
            // 右边界向右移动
            sum += j;
            j++;
        } else if (sum > target) {
            // 左边界向右移动
            sum -= i;
            i++;
        } else {
            // 记录结果
            int[] arr = new int[j-i];
            for (int k = i; k < j; k++) {
                arr[k-i] = k;
            }
            res.add(arr);
            // 左边界向右移动
            sum -= i;
            i++;
        }
    }

    return res.toArray(new int[res.size()][]);

    }
}

相关推荐

  1. [LeetCode][LCR186]文物朝代判断——贪心

    2023-12-16 20:38:01       34 阅读
  2. 187. LCR 破冰游戏

    2023-12-16 20:38:01       66 阅读
  3. LRC歌词格式文件

    2023-12-16 20:38:01       75 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-16 20:38:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-16 20:38:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-16 20:38:01       82 阅读
  4. Python语言-面向对象

    2023-12-16 20:38:01       91 阅读

热门阅读

  1. linux/CentOS 7安装Nginx

    2023-12-16 20:38:01       55 阅读
  2. 异常处理与CrashRpt工具——(2)

    2023-12-16 20:38:01       53 阅读
  3. 单页应用如何提高加载速度?

    2023-12-16 20:38:01       60 阅读
  4. C++ 字符串类 简易封装

    2023-12-16 20:38:01       42 阅读
  5. Linux系统架构和命令

    2023-12-16 20:38:01       46 阅读
  6. 如何在PHP中使用Memcached和Redis?

    2023-12-16 20:38:01       52 阅读
  7. 同步消息与同步请求消息在嵌入式系统中的应用

    2023-12-16 20:38:01       56 阅读
  8. vuedraggable的使用

    2023-12-16 20:38:01       64 阅读