当前位置: 首页 > news >正文

力扣-回溯-39 组合总和

思路

和之前几道组合的题目差不多,不同的是允许元素重复,所以要求单层递归里的for循环从当前的index开始即可

代码

class Solution {
public:
    int curSum;
    vector<int> path;
    vector< vector<int> > result;

    void backtracking(vector<int>& candidates, int curIndex, int target){
        if(curSum > target) return;
        if(curSum == target){
            result.push_back(path);
            return;
        }

        for(int i = curIndex; i < candidates.size(); i++){
            path.push_back(candidates[i]);
            curSum += candidates[i];
            backtracking(candidates, i, target);
            path.pop_back();
            curSum -= candidates[i];
        }

        return;
    }

    vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
        backtracking(candidates, 0, target);
        return result;
    }
};

相关文章:

  • Python图像处理中的内存泄漏问题:原因、检测与解决方案
  • C#基础:使用Linq进行简单去重处理(DinstinctBy/反射)
  • Ubuntu 22.04 一键部署MinerU1.1.0
  • 计算机基础之操作系统——并发
  • PLSQL连接Oracle 19c报错ORA-28040
  • C语言(四)——数组
  • Redis(高阶篇)05章——案例落地实战bitmap/hyperloglog/GEO
  • 在 Windows 环境下部署 WebIssues:完整指南
  • leetcode21.合并两个有序链表
  • Python常见面试题的详解15
  • stm32hal库寻迹+蓝牙智能车(STM32F103C8T6)
  • SOME/IP--协议英文原文讲解10
  • 阿里云如何协助解决操作系统兼容性问题
  • 【小游戏】C++控制台版本俄罗斯轮盘赌
  • 四、数据湖应用平台架构
  • 2025年-G11-Lc85-110.平衡二叉树-java版
  • NLP-RNN-LSTM浅析
  • XTOM-TRANSFORM自动化三维测量系统用于汽车零部件质量控制
  • three.js之特殊材质效果
  • linux+KMS+AD域自动激活