LeetCode216 组合总和 III

前言

题目: 216. 组合总和 III
文档: 代码随想录------组合总和 III
编程语言: C++
解题状态: 成功解答

思路

组合题的变种,其实是变得更简单了,还是可以使用回溯法来解决。

代码

回溯法

cpp 复制代码
class Solution {
private:
    vector<vector<int>> res;
    vector<int> path;
    void backtracking(int k, int n, int startIndex) {
        if (path.size() == k) {
            int sum = 0;
            for (int i = 0; i < k; i++) {
                sum += path[i];
            }
            if (sum == n) {
                res.push_back(path);
            }
            return;
        }

        for (int i = startIndex; i <= 9 - (k - path.size()) + 1; i++) {
            path.push_back(i);
            backtracking(k, n, i + 1);
            path.pop_back();
        }
    }
public:
    vector<vector<int>> combinationSum3(int k, int n) {
        res.clear();
        path.clear();
        backtracking(k, n, 1);
        return res;
    }
};
  • 空间复杂度: O ( n ) O(n) O(n)
相关推荐
运行时记录30 分钟前
prompt-optimizer skill
算法
万法若空40 分钟前
【数据结构-哈希表】哈希表原理
数据结构·算法·散列表
退休倒计时1 小时前
【每日一题】LeetCode 437. 路径总和 III TypeScript
算法·leetcode·typescript
学逆向的1 小时前
汇编——内存
开发语言·汇编·算法·网络安全
tachibana21 小时前
hot100 翻转二叉树(226)
java·数据结构·算法·leetcode
兰令水1 小时前
leecodecode【面试150】【2026.7.9打卡-java版本】
java·数据结构·leetcode·面试·职场和发展
生戎马2 小时前
高光谱拼接算法(七)USAC
算法
KuaCpp2 小时前
C++进程(下)
c++
PhotonixBay3 小时前
共聚焦成像核心原理:针孔、PSF与三维形貌测量技术
人工智能·测试工具·算法
来一碗刘肉面3 小时前
C++中的引用语法
c++·算法