力扣:40. 组合总和 II

回溯:

1.先声明好大集合和小集合,在调用回溯函数,终止条件为sum==target,要进行剪枝操作减少遍历的次数,去重操作防止数组中有两个相同的值来组成的集合相同。

class Solution {
    List<List<Integer>> li1=new ArrayList<List<Integer>>();
    List<Integer> li2=new ArrayList<Integer>();
    public List<List<Integer>> combinationSum2(int[] candidates, int target) {
        //接收计算总和
        int sum=0;
        //方便去重操作
        Arrays.sort(candidates);
        huisu(candidates,target,0,sum);
        return li1;
    }
    public void huisu(int[] candidates,int target,int Index,int sum){
        //终止条件
        if(sum==target ){
            li1.add(new ArrayList<>(li2));
            return ;
        }
        //遍历和剪枝操作
        for(int i=Index;i<candidates.length&&sum+candidates[i]<=target;i++){
    //去重操作
            if (i>Index&&candidates[i]==candidates[i-1]){
                 continue;
            } 
            //加入集合li2中
            li2.add(candidates[i]);
            sum+=candidates[i];
            //嵌套
            huisu(candidates,target,i+1,sum);
            //回溯操作
            sum-=li2.get(li2.size()-1);
            li2.removeLast();
        }
    }
}

相关推荐

  1. 40. 组合总和 II

    2024-02-21 05:58:05       45 阅读
  2. 组合总和2(40

    2024-02-21 05:58:05       36 阅读
  3. 40. 组合总和 II

    2024-02-21 05:58:05       58 阅读
  4. leetcode 40. 组合总和 II

    2024-02-21 05:58:05       60 阅读
  5. LeetCode40. 组合总和 II

    2024-02-21 05:58:05       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-21 05:58:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-21 05:58:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-21 05:58:05       87 阅读
  4. Python语言-面向对象

    2024-02-21 05:58:05       96 阅读

热门阅读

  1. Nginx被动健康检测配置

    2024-02-21 05:58:05       47 阅读
  2. flink operator 1.7 更换日志框架log4j 到logback

    2024-02-21 05:58:05       48 阅读
  3. 设计模式——单例模式8种实现

    2024-02-21 05:58:05       56 阅读
  4. 力扣爆刷第73天--动态规划

    2024-02-21 05:58:05       59 阅读
  5. vDPA资料/文档/博客 链接

    2024-02-21 05:58:05       62 阅读
  6. 闲鱼商品详情接口api

    2024-02-21 05:58:05       51 阅读
  7. Leetcode 740. Delete and Earn

    2024-02-21 05:58:05       47 阅读
  8. WordPress有没有必要选择付费主题

    2024-02-21 05:58:05       58 阅读
  9. element-plus日期选择器英文改成中文

    2024-02-21 05:58:05       57 阅读
  10. python-adb-getevent转sendevent

    2024-02-21 05:58:05       49 阅读