面试算法-117-组合总和 III

题目

找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:

  • 只使用数字1到9
  • 每个数字 最多使用一次

返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。

示例 1:

输入: k = 3, n = 7
输出: [[1,2,4]]
解释:
1 + 2 + 4 = 7
没有其他符合的组合了。

class Solution {
    public List<List<Integer>> combinationSum3(int k, int n) {
        List<List<Integer>> result = new ArrayList<>();
        LinkedList<Integer> path = new LinkedList<>();
        dfs(k, 1, n, path, result);
        return result;
    }

    public void dfs(int k, int index, int target, LinkedList<Integer> path, List<List<Integer>> result) {
        if (target == 0 && path.size() == k) {
            result.add(new LinkedList<>(path));
            return;
        }

        for (int i = index; i <= 9; i++) {
            path.add(i);
            dfs(k, i + 1, target - i, path, result);
            path.removeLast();
        }
    }
}

最近更新

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

    2024-03-26 14:32:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-26 14:32:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-26 14:32:05       82 阅读
  4. Python语言-面向对象

    2024-03-26 14:32:05       91 阅读

热门阅读

  1. 缓存Caffine

    2024-03-26 14:32:05       33 阅读
  2. django关于文件分块上传的简单实现(template+view)

    2024-03-26 14:32:05       44 阅读
  3. Promise封装ajax

    2024-03-26 14:32:05       43 阅读
  4. 【力扣】零钱兑换和零钱兑换2,动态规划算法

    2024-03-26 14:32:05       44 阅读
  5. Kafka简介

    2024-03-26 14:32:05       41 阅读
  6. Centos docker安装及常用命令

    2024-03-26 14:32:05       42 阅读
  7. Git 的基本概念和使用方式

    2024-03-26 14:32:05       40 阅读
  8. 视频中的车流量统计_3.13

    2024-03-26 14:32:05       39 阅读
  9. Unity中使用AssetPostprocessor对模型动画处理

    2024-03-26 14:32:05       40 阅读