39.组合总和(回溯)

简介: 39.组合总和(回溯)

39. 组合总和 - 力扣(LeetCode) (leetcode-cn.com)

#回溯
class Solution:
    def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]:
        def dfs(target,ans,combine,idx):
            if idx == n:
                return
            if target == 0:
                ans.append(list(combine))
                return
            #跳过idx
            dfs(target,ans,combine,idx+1)
            #选择idx
            if target-candidates[idx] >= 0:
                combine.append(candidates[idx])
                dfs(target-candidates[idx],ans,combine,idx)
                combine.pop()
            
            
 
        n = len(candidates)
        ans = []
        combine=[]
        dfs(target,ans,combine,0)
        return ans
相关文章
|
1月前
|
算法 测试技术 C#
C++二分查找算法:包含每个查询的最小区间
C++二分查找算法:包含每个查询的最小区间
|
1月前
|
Java 测试技术
统计满足条件的子集个数
统计满足条件的子集个数
29 0
|
1月前
|
Java
leetcode-40:组合总和 II
leetcode-40:组合总和 II
25 0
|
1月前
|
Java 索引
leetcode-39:组合总和
leetcode-39:组合总和
23 0
|
1月前
|
Java
leetcode-216:组合总和 III
leetcode-216:组合总和 III
23 0
|
1月前
|
Java
leetcode-377:组合总和 Ⅳ
leetcode-377:组合总和 Ⅳ
22 0
|
机器学习/深度学习 算法 安全
LeetCode - #40 组合总和 II
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。
leetcode:40.组合总和 II
给定一个数组 candidates和一个目标数 target,找出 candidates中所有可以使数字和为 target的组合。
38 0
LeetCode 39. 组合总和
LeetCode 39. 组合总和
71 0
LeetCode 39. 组合总和