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)
相关推荐
程序员清风6 分钟前
算法题中的边界条件、测试与调试
开发语言·算法·kotlin
划破黑暗的第一缕曙光11 分钟前
[C++]:4.模板
c++·template·模板·函数模版·类模版
十五年专注C++开发14 分钟前
pybind11:一个跨C++和Python平台的编程库
开发语言·c++·python·pybind11
CodeYp201924 分钟前
第11讲:stack 和 queue
开发语言·c++·queue·stack
炘爚30 分钟前
数据结构算法总结
数据结构·python·算法
Dageno_AI1 小时前
ChatGPT 不再引用 Reddit 之后,还值得在 Reddit 上做 AI 可见度吗?
算法
沫璃染墨1 小时前
《Qt从零入门系列(十五):Qt线程安全与锁机制详解——从QMutex到RAII与读写锁实战》
开发语言·c++·qt·安全·交互·线程·qt6.3
hetao17338371 小时前
2026-10-25 hetao1733837 的刷题记录
c++·算法
Jsundoku1 小时前
第七章 机器学习 -- 其他经典算法
人工智能·算法·机器学习
fqbqrr2 小时前
2610C++,UI复合技术在窗口中绘画字体图标
c++·ui