当前位置: 首页 > news >正文

辽宁省建设厅网站更新/百度指数免费查询入口

辽宁省建设厅网站更新,百度指数免费查询入口,建设工程自学网站,物流网站建设平台组合总和 II leetcode40. 组合总和 II题目描述解题思路代码演示 回溯算法专题 leetcode40. 组合总和 II 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/combination-sum-ii 题目描述 给定一个候选人编号的集合 candida…

组合总和 II

  • leetcode40. 组合总和 II
    • 题目描述
    • 解题思路
    • 代码演示
  • 回溯算法专题

leetcode40. 组合总和 II

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/combination-sum-ii

题目描述

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
candidates 中的每个数字在每个组合中只能使用 一次 。
注意:解集不能包含重复的组合。

示例 1:
输入: candidates = [10,1,2,7,6,1,5], target = 8,
输出:
[
[1,1,6],
[1,2,5],
[1,7],
[2,6]
]

示例 2:
输入: candidates = [2,5,2,1,2], target = 5,
输出:
[
[1,2,2],
[5]
]

提示:
1 <= candidates.length <= 100
1 <= candidates[i] <= 50
1 <= target <= 30

解题思路

这题还是和子集问题是相同的求解套路,我们只要子集的一部分,
关于子集的解法,查看leetcode78 子集
我们是要子集中的一部分符合,和为target 的子集,因此我们只要加入判断就行了。
但是这里有个问题,就是重复值的问题,如果值有重复的,我们要进行减枝。
在这里插入图片描述
重复的2 我们就不进行重复选择了,进行剪枝,代码里就是,我们先对数组排序,让相等的两个数相邻,然后递归时,判断已经选择过,就跳过。

代码演示

class Solution {List<List<Integer>> ans = new LinkedList<>();LinkedList<Integer> track = new LinkedList<>();public List<List<Integer>> combinationSum2(int[] candidates, int target) {//先对数组排序,方便剪枝Arrays.sort(candidates);process(candidates,0,target);return ans;}/*** 回溯算法,*/public void process(int[]candidates,int index,int target){//base case 小于0 前面选择无效,直接返回if(target < 0){return ;}//base case target == 0 ,选择是有效的,加入到目标集合里if(target == 0){ans.add(new LinkedList<>(track));}//越界时,直接返回。if(index == candidates.length){return;}//可以选择的列表for(int i = index;i < candidates.length;i++){//剪枝操作,已经选择过的数字,不在进行重复选择if(i > index && candidates[i] == candidates[i - 1]){continue;}track.addLast(candidates[i]);//选择以后,目标数字减去选择的process(candidates,i + 1,target - candidates[i]);track.removeLast();}}
}

回溯算法专题

leetcode78 子集

leetcode77. 组合

http://www.jmfq.cn/news/5229037.html

相关文章:

  • 进入江苏省住房和城乡建设厅网站/网络营销公司排名
  • flash网站建设公司/seo网站优化
  • 济南的企业网站建设/网站建设计划书
  • 专业网站有哪些平台/seo推广什么意思
  • 佛山网站建设正规公司/app拉新推广代理
  • 安徽省建设工程网站/站长工具关键词查询
  • 南山的网站建设/外贸建站与推广
  • 网站怎么更新数据/专业做加盟推广的公司
  • 武汉阳网站建设平台/长沙网站seo收费标准
  • 搭建网站 优帮云/淘宝权重查询入口
  • 轻淘客的轻网站怎么做/衡水seo优化
  • 鞋子网站模板/百度网盘破解版
  • 学做网站从前端到后端/推广一手渠道
  • 西安网站建设培训/国际购物网站平台有哪些
  • 贵阳网站建设980包年秒搜科技Sa50/关键词优化策略
  • 龙岗企业网站制作公司/头条发布视频成功显示404
  • 有哪些可以做外链的网站/微信营销推广
  • 商城网站如何建设/企业网络推广的方法
  • 献县做网站价格/代写文案平台
  • 平阳门户网站建设/线下引流推广方法
  • wordpress css文件路径/seo知名公司
  • 建设网站证书查询/网络营销是网上销售吗
  • 杭州下沙网站建设/百度一下首页官网
  • php自建网站/网络营销推广公司
  • WordPress客户端/宁波seo外包服务平台
  • 网站搜索引擎推广方案/seo外链专员工作要求
  • 互联网情况下做企业网站的有点/北京快速优化排名
  • 医疗器械注册证/推广seo优化公司
  • 海南网站优化/产品推广文案范例
  • 什么网站做简历模板/淘宝关键词top排行榜