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)
相关推荐
玖日大大几秒前
ModelEngine 可视化编排实战:从智能会议助手到企业级 AI 应用构建全指南
大数据·人工智能·算法
猿饵块2 分钟前
c++17--std::owner_less
开发语言·c++
月明长歌4 分钟前
【码道初阶】Leetcode面试题02.04:分割链表[中等难度]
java·数据结构·算法·leetcode·链表
如竟没有火炬5 分钟前
快乐数——哈希表
数据结构·python·算法·leetcode·散列表
蒙奇D索大6 分钟前
【数据结构】考研408 | B树探秘:从查找操作到树高性能分析
数据结构·笔记·b树·考研·改行学it
渡我白衣7 分钟前
计算机组成原理(5):计算机的性能指标
服务器·网络·c++·人工智能·网络协议·tcp/ip·网络安全
初願致夕霞7 分钟前
C++文件压缩及解压缩小程序的实现
c++·小程序·apache
TL滕7 分钟前
从0开始学算法——第十四天(数组与搜索练习)
笔记·学习·算法
郝学胜-神的一滴9 分钟前
设计模式依赖于多态特性
java·开发语言·c++·python·程序人生·设计模式·软件工程
SoleMotive.10 分钟前
bio、nio、aio的区别以及使用场景
python·算法·nio