【LeetCode热题100(56/100)】组合总和

题目地址: 链接

思路: 递归回溯

js 复制代码
/**
 * @param {number[]} candidates
 * @param {number} target
 * @return {number[][]}
 */
var combinationSum = function(candidates, target) {
    let n = candidates.length
    let ans = [];
    const dfs = (idx, sum, arr) => {
        if(sum > target) return;
        if(sum === target) {
            ans.push(arr);
            return;
        }

        for(let i = idx; i < n; i ++) {
            dfs(i, sum + candidates[i], [...arr, candidates[i]]);
        }
    }

    dfs(0, 0, []);
    return ans;
};
相关推荐
ZPC82108 小时前
opencv 获取图像中物体的坐标值
人工智能·python·算法·机器人
颇有几分姿色8 小时前
密码学算法分类指南
算法·密码学
测试19988 小时前
如何写出一个完整的测试用例?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
绝无仅有8 小时前
某游戏大厂的 Redis 面试必问题解析
后端·算法·面试
微笑尅乐8 小时前
三种方法解开——力扣3370.仅含置位位的最小整数
python·算法·leetcode
MMjeaty8 小时前
查找及其算法
c++·算法
寂静山林9 小时前
UVa 1597 Searching the Web
数据结构·算法
云泽8089 小时前
排序算法实战:从插入排序到希尔排序的实现与性能对决
算法·排序算法
多恩Stone9 小时前
【3DV 进阶-5】3D生成中 Inductive Bias (归纳偏置)的技术路线图
人工智能·python·算法·3d·aigc