刷代码随想录有感(67):回溯算法——组合总和

题干:

代码:

class Solution {
public:
    vector<int>tmp;
    vector<vector<int>>res;
    void backtracking(int k, int n, int sum, int start){
        if(tmp.size() == k && sum == n){
            res.push_back(tmp);
            return;
        }
        for(int i = start; i <= 9; i++){
            sum += i;
            tmp.push_back(i);
            backtracking(k, n, sum, i + 1);
            sum -= i;
            tmp.pop_back();
        }
    }
    vector<vector<int>> combinationSum3(int k, int n) {
        backtracking(k, n, 0, 1);
        return res;
    }
};

剪枝:如果sum > n 则终止, 如果取不到k个数则终止:

class Solution {
public:
    vector<int>tmp;
    vector<vector<int>>res;
    void backtracking(int k, int n, int sum, int start){
        if(sum > n)return;//剪枝1
        if(tmp.size() == k && sum == n){
            res.push_back(tmp);
            return;
        }
        for(int i = start; i <= 9 - (k - tmp.size()) + 1; i++){//剪枝2
            sum += i;
            tmp.push_back(i);
            backtracking(k, n, sum, i + 1);
            sum -= i;
            tmp.pop_back();
        }
    }
    vector<vector<int>> combinationSum3(int k, int n) {
        backtracking(k, n, 0, 1);
        return res;
    }
};

回溯调用参数不是start而是i  + 1...

最近更新

  1. TCP协议是安全的吗?

    2024-05-16 12:24:12       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-16 12:24:12       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-16 12:24:12       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-16 12:24:12       18 阅读

热门阅读

  1. 深度学习知识点总结

    2024-05-16 12:24:12       14 阅读
  2. 7-136 后序和中序构造二叉树

    2024-05-16 12:24:12       11 阅读
  3. 使用Docker配置深度学习环境——以diffusers为例

    2024-05-16 12:24:12       9 阅读
  4. 共享旅游卡,旅行新潮流下的商机探索

    2024-05-16 12:24:12       14 阅读
  5. 旅游卡创业的机会在哪里?

    2024-05-16 12:24:12       12 阅读
  6. 设计模式-单例模式

    2024-05-16 12:24:12       12 阅读
  7. js设计模式: 单例模式

    2024-05-16 12:24:12       12 阅读
  8. PyTorch的基础用法简介

    2024-05-16 12:24:12       10 阅读
  9. Oracle create table 语句转换为 HIVE create table语句

    2024-05-16 12:24:12       11 阅读