题目描述:

给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。

candidates 中的每个数字在每个组合中只能使用一次。

说明:

所有数字(包括目标数)都是正整数。

解集不能包含重复的组合。

示例 1:

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

所求解集为:

[

[1, 7],

[1, 2, 5],

[2, 6],

[1, 1, 6]

]

示例 2:

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

所求解集为:

[

[1,2,2],

[5]

]

题解:

class Solution {

//这是回溯法

public static List> combinationSum2(int[] candidates, int target) {

Arrays.sort(candidates);

List> result = new ArrayList<>();

getList(candidates,0,target,new Stack<>(),result);

return result;

}

public static void getList(int[] candisates, int index, int target, Stack stack, List> comb){

//判断遍历终止的代码

if(target == 0){

comb.add(new ArrayList<>(stack));

return;

}

//进行遍历

for(int in = index;in < candisates.length && (target >= candisates[in]);in ++){

//如果该数据与上一个数据相等就跳过--针对重复现象的解决办法,注意里面用到index,可以防止同样父节点下出现相同的子节点

if(in > index && candisates[in] == candisates[in-1]){

continue;

}

stack.push(candisates[in]);

getList(candisates,in+1,target - candisates[in],stack,comb);

stack.pop();

}

}

}

Leetcode之回溯法专题-40&period; 组合总和 II(Combination Sum II)

Leetcode之回溯法专题-40. 组合总和 II(Combination Sum II) 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使 ...

Java实现 LeetCode 40 组合总和 II(二)

40. 组合总和 II 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在 ...

40组合总和II

题目:给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合.candidates 中的每个数字在每个组合中只能使用一 ...

Leetcode题库——40&period;组合总和II

@author: ZZQ @software: PyCharm @file: combinationSum2.py @time: 2018/11/15 18:38 要求:给定一个数组 candidat ...

40&period; 组合总和 II leetcode JAVA

题目: 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使 ...

LeetCode 40&period; 组合总和 II(Combination Sum II)

题目描述 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能 ...

leetcode 40&period; 组合总和 II &lpar;python&rpar;

给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使用一次. ...

LeetCode 中级 - 组合总和II&lpar;105&rpar;

给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使用一次. ...

LeetCode(40):组合总和 II

Medium! 题目描述: 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数 ...

随机推荐

【转载】分享一些Qt学习资源,欢迎下载

资源来源:http://bbs.csdn.net/topics/390358737 经过我一翻整理,把一些我收集到的Qt学习资源分享给大家,主要适合新手,老鸟可以直接忽略我.要说明一下,很多资源都是在 ...

error LNK2019&colon; 无法解析的外部符号 &lowbar;&lowbar;imp&lowbar;&lowbar;&lowbar;CrtDbgReportW

error LNK2005 and error LNK2019 error LNK2019: unresolved external symbol __imp___CrtDbgReportW refe ...

linux进程的介绍和管理

概述 -   在linux 中,每个执行的程序都称为一个进程,每一个进程都分配一个ID号 -   每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程,例如www服务器 -   每个进程都可 ...

&lbrack;LOJ3014&rsqb;&lbrack;JOI 2019 Final&rsqb;独特的城市——树的直径&plus;长链剖分

题目链接: [JOI 2019 Final]独特的城市 对于每个点,它的答案最大就是与它距离最远的点的距离. 而如果与它距离为$x$的点有大于等于两个,那么与它距离小于等于$x$的点都不会被计入答案. ...

James Munkres Topology&colon; Sec 18 Exer 12

Theorem 18.4 in James Munkres “Topology” states that if a function \(f : A \rightarrow X \times Y\) ...

3&period; 原子变量-CAS算法

1. 是什么 ? 2. CAS算法模拟 package com.gf.demo03; public class TestCompareAndSwap { public static void main ...

二、认识Xcode(第一个工程:Hello world)

到一个未知的世界去冒险,怎么可以不熟悉自己的武器装备呢?况且我们现在也就Xcode这一样装备,攻击防御全靠它,要是关键时刻使不出技能,那不gg了? 所以接下来我们会大致介绍Xcode的常用界面,并在最 ...

初尝Web API《转》

HTTP 并不是只能用在网页中.它其实还是一个强大的平台,可以用来生成一些API,暴露服务和数据.HTTP很简单灵活,还非常普及.几乎所有你能想到的平台都有HTTP库,所以HTTP服务可以囊括很大范围 ...

强化学习7-Sarsa

之前讲到时序差分是目前主流强化学习的基本思路,这节就学习一下主流算法之一 Sarsa模型. Sarsa 是免模型的控制算法,是通过更新状态动作价值函数来得到最优策略的方法. 更新方法 Q(S,A)=Q ...

drupal7 覆写node-type&period;tpl&period;php获取字段值的两种方式

字段的机读名称为:field_publication_date 出版时间: <?php print date('Y-m-d', ...

ii 组合总和_40. 组合总和 II相关推荐

  1. ii 组合总和_40. 组合总和 II – 力扣(LeetCode)

    题目描述 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能 ...

  2. leetcode 39. 组合总和 40. 组合总和 II

    leetcode 39. 组合总和 40. 组合总和 II 组合总和 给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和 ...

  3. 组合模式——透明组合模式,安全组合模式

    组合模式 概述 叶子节点进行相关的操作. 可以将这颗树理解成一个大的容器,容器里面包含很多的成员对象,这些成员对象即可是容器对象也可以是叶子对象. 但是由于容器对象和叶子对象在功能上面的区别,使得我们 ...

  4. 组合恒等式7 组合变换的互逆公式 简介与简单例子

    组合恒等式7 组合变换的互逆公式 双重求和可以交换次序 互逆公式的证明 应用互逆公式证明组合恒等式 类似离散序列的Z变换,我们也可以定义以组合数为系数的组合变换,一个直观的例子是 bk=∑i=0k(− ...

  5. 每天一道LeetCode-----找到1,2,...,n这n个数所有的组合,每个组合有k个元素,且元素大小递增

    Combinations 原题链接Combinations 给定两个整数n和k,返回1,2,-,n这n个元素所有的组合,每个组合包含k的元素,且元素大小递增 深度优先遍历一遍解决战斗:) class ...

  6. GNSS/INS超紧组合、深组合导航数据采集器

    0. 序 截至目前,GNSS/INS组合导航有三种主流架构:基于位置速度的组合,即松组合:基于伪距.伪距率的组合,即紧组合:基于基带测量值的组合,即深组合.在上述架构中,基于伪距.伪距率的组合,且利用 ...

  7. 在 Visio 中组合或取消组合形状

    可以将形状组合在一起以一次移动它们,然后取消组合形状以独立移动它们. 所有可对单个形状执行的操作,都可以对一组形状执行,例如调整大小.旋转.与其他形状对齐等等. Visio 组视为一个大形状. 组合形 ...

  8. 第3章 软件测试方法--基于组合技术和组合优化的方法(决策表、因果图、场景测试)

    文章目录 3.3 基于组合技术和组合优化的方法 3.3.1 判定表(决策表)测试 3.3.2 因果图法 3.3.3 两两组合(Pair-wise)方法 3.3.4 正交实验法 3.3.5 基于场景的测 ...

  9. excel 中vb组合框_Excel组合框上的标题

    excel 中vb组合框 Excel组合框上的标题 (Headers on Excel Combo Boxes) You can use combo boxes to show a drop down ...

最新文章

  1. 【分布式事务】tcc-transaction分布式TCC型事务框架搭建与实战案例(基于Dubbo/Dubbox)...
  2. 请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径
  3. ProE常用曲线方程:Python Matplotlib 版本代码(玫瑰曲线)
  4. cannon的英文名_Cannon[坎农]的中文翻译及英文名意思
  5. java8 stream to map_Java 8 Stream Api 中的 map和 flatMap 操作
  6. TimeJot – Last Time 改名,新增中文界面、数字属性,还是那个时间线管理神器[Android]
  7. 机器学习-吴恩达-笔记-10-降维
  8. 基于大数据的软件智能化开发方法与环境
  9. 利用selenium 实现对百度图片搜索中的图片的抓取
  10. TFS2010新建项目失败
  11. 服务器出现漏洞如何处理
  12. 基本逻辑符号与数学符号列表
  13. STM32之继电器驱动(上下拉电阻)
  14. 开业两月有余的转转二手集市怎么没有声音了?
  15. 使用MiKTeX和TeXstudio编辑latex
  16. FPGA实现千兆/百兆自适应以太网UDP传输
  17. CSS给元素添加边框(样式、颜色、宽度)
  18. 大数据-计算引擎:MapReduce、TEZ、Spark【Hive可选用的三大计算引擎】
  19. PHP域名权重查询接口源码
  20. 斜视锥体投影矩阵推导

热门文章

  1. J2EE项目移植问题二
  2. python下使用qrcode方法
  3. html div中心显示,html中心div总是在中间,另外两个是动态的
  4. javca中redis获取value_接口测试:如何从redis中获取短信验证码
  5. 常用计算机主要硬件设备,个人计算机常用的输出设备41.计算机硬件的组成部分主要包括:...
  6. hive replace替换多个_详解Mysql数据库中replace与replace into的用法及区别
  7. 怎么形容智能冰激凌机器人_一种人机交互型冰激凌多功能自动售卖机器人的制作方法...
  8. linux一个网卡绑定多个端口,RedHat实现多网卡绑定
  9. java调用权报表的代码_ireport5.6使用table组件,如何用table显示javaBean数据源
  10. linux tf命令,Linux系统命令介绍之vmstat命令详解