美文网首页
39. Combination Sum

39. Combination Sum

作者: 衣介书生 | 来源:发表于2018-04-18 09:45 被阅读14次

题目分析

找出一个数组若干数的和等于 target 的所有可行解,每个元素可以重复任意次使用 + 回溯法

代码

class Solution {
    public List<List<Integer>> combinationSum(int[] candidates, int target) {
        List<List<Integer>> res = new ArrayList<>();
        if(candidates == null || candidates.length == 0) return res;
        List<Integer> combination = new ArrayList<>();
        Arrays.sort(candidates);
        helper(res, candidates, combination, 0, target);
        return res;
    }
    public void helper(List<List<Integer>> res, int[] candidates, List<Integer> combination, int index, int target) {
        // 寻找到了目标解
        if(target == 0) {
            res.add(new ArrayList<Integer>(combination));
            return;
        }
        for(int i = index; i < candidates.length; i++) { 
            if(candidates[i] > target) {
                break;
            }
            
            if(i != index && candidates[i] == candidates[i - 1]) {
                continue;
            }
            
            combination.add(candidates[i]);
            helper(res, candidates, combination, i, target - candidates[i]);
            // helper 执行完了,要么是已经添加了可行解不满足条件,回溯
            combination.remove(combination.size() - 1);
        }
    }
}

相关文章

  • LeetCode 39. Combination Sum

    10-13 LeetCode 39. Combination Sum Combination Sum Descri...

  • [leetcode -- backtracking] 39.Co

    39. Combination Sum 题目: Given a set of candidate numbers ...

  • 组合总和

    Algorithm 39. Combination Sum[https://leetcode.com/proble...

  • 39. 组合总和

    39. 组合总和 https://leetcode-cn.com/problems/combination-sum...

  • Leetcode 【39、40、77】

    问题描述:【DFS、DP】39. Combination Sum 解题思路: 这道题和 Leetcode 【DP】...

  • [BackTracking]39. Combination Su

    分类:BackTracking/DFS 时间复杂度: O(n^2) 39. Combination Sum Giv...

  • 39. Combination Sum

    给一组候选数字(C)(没有重复)并给一个目标数字(T),找出 C 中所有唯一的组合使得它们的和为 T。 可以从 C...

  • 39. Combination Sum

    注意,sort的时候,千万不要直接改变list,要用临时数组来代替;因为递归过程中后面还要pop_back; 解法...

  • 39. Combination Sum

    Given a set of candidate numbers (candidates) (without du...

  • 39. Combination Sum

    题目分析 找出一个数组若干数的和等于 target 的所有可行解,每个元素可以重复任意次使用 + 回溯法 代码

网友评论

      本文标题:39. Combination Sum

      本文链接:https://www.haomeiwen.com/subject/muzmkftx.html