题解 | #加起来和为目标值的组合(二)#

加起来和为目标值的组合(二)

https://www.nowcoder.com/practice/75e6cd5b85ab41c6a7c43359a74e869a

import java.util.*;
public class Solution {
    private  ArrayList<ArrayList<Integer>> res = new ArrayList<>();

    public ArrayList<ArrayList<Integer>> combinationSum2(int[] num, int target) {
        if (num == null || num.length < 1) {
            return res;
        }
        Arrays.sort(num);
        backtrack(num, 0, target, new ArrayList<>());
        return res;
    }

    private void backtrack(int[] num, int start, int target, List<Integer> list) {
        if (list.size() > 0 && target == 0) {
            res.add(new ArrayList<>(list));
            return;
        }
        for (int i = start; i < num.length; i++) {
            if (target - num[i] < 0) {
                break;
            }
            if (i > start && num[i] == num[i - 1]) {
                continue;
            }
            target -= num[i];
            list.add(num[i]);
            backtrack(num, i + 1, target, list);
            target += num[i];
            list.remove(list.size() - 1);
        }
    }
}

全部评论

相关推荐

06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
05-16 11:16
已编辑
东华理工大学 Java
牛客73769814...:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
牛客创作赏金赛
点赞 评论 收藏
分享
找到实习了&nbsp;给了150一天&nbsp;但是说是低代码&nbsp;值得去吗
码农索隆:是在没实习,可去,待个一两周,不行就润呗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务