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)
相关推荐
Irissgwe18 分钟前
进程间通信
linux·服务器·网络·c++·进程间通信
Wave84519 分钟前
数据结构—树
数据结构
ic爱吃蓝莓25 分钟前
数据结构 | HashMap原理
数据结构·学习·算法·链表·哈希算法
add45a26 分钟前
C++编译期数据结构
开发语言·c++·算法
灰色小旋风29 分钟前
力扣21 合并两个有序链表(C++)
c++·leetcode·链表
Laurence1 小时前
Qt 前后端通信(QWebChannel Js / C++ 互操作):原理、示例、步骤解说
前端·javascript·c++·后端·交互·qwebchannel·互操作
王老师青少年编程1 小时前
2026年3月GESP真题及题解(C++五级):有限不循环小数
c++·题解·真题·gesp·csp·五级·有限不循环小数
Amnesia0_01 小时前
C++中的IO流
开发语言·c++
2401_891482171 小时前
C++模块化编程指南
开发语言·c++·算法
沉鱼.441 小时前
树、堆的题目集
算法