原题

给定一个候选人编号的集合 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]
]

题解

  • 回溯+剪枝

    • 参考力扣39题
    • 需要去重
/*** @param {number[]} candidates* @param {number} target* @return {number[][]}*/
var combinationSum2 = function(candidates, target) {candidates.sort((a, b) => a - b);let res = [];let step = [];const dfs = (index, target) => {if(target == 0) {res.push(step.slice());return;}for(let i = index; i < candidates.length; i++) {if(i > index && candidates[i] == candidates[i - 1]) continue; // 剪枝,去除重复的组合if(target - candidates[i] < 0) return; // 剪枝else {step.push(candidates[i]);dfs(i+1, target - candidates[i]);step.pop(candidates[i]);}}}dfs(0, target);return res;
};

【LeetCode】40. 组合总和 II (JavaScript)相关推荐

  1. LeetCode 40. 组合总和 II(排列组合 回溯)

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

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

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

  3. leetcode 40. 组合总和 II 思考分析

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

  4. LeetCode 40 组合总和 II

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

  5. LeetCode 40. 组合总和 II(回溯)

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

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

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

  7. 77.组合 | 40.组合总和II | 39.组合总和 | 784.字母大小写全排列

    77.组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合. 你可以按 任何顺序 返回答案. 示例 1: 输入:n = 4, k = 2 输出: [   [2,4], ...

  8. Suzy找到实习了吗 Day27 | 回溯进行中:39. 组合总和,40. 组合总和 II,131.分割回文串

    39. 组合总和 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 , ...

  9. leetcode系列--40.组合总和 II

    leetcode系列–第40题.组合总和 II 给你一个由候选元素组成的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合 ...

最新文章

  1. 网络测试与分析工具简介
  2. 给销售范围组合分配定价过程
  3. python 指针指向的内容,python-文件的读取及指针位置
  4. react-native ListView 封装 实现 下拉刷新/上拉加载更多
  5. 安卓学习笔记40:基于套接字网络编程
  6. android MVP框架
  7. Samba的安装步骤
  8. 服务器跟域名解析失效,dns根域名解析失败有什么影响
  9. 快速测试UTF8编码的文件是不是加了BOM,不限PHP
  10. c语言大神,C语言入门大神有话说(一)
  11. c语言浮点数输出格式的控制,c语言输出格式控制
  12. 鸡兔同笼html语言,鸡兔同笼有哪五种方法
  13. 人脸识别系统技术方案
  14. PG第五章-体系结构
  15. html字体模糊怎么变清晰,电脑字体模糊怎么办 将字体调节清晰方法【详解】
  16. python2 unicode转换中文
  17. Sql 实现数据透视表功能
  18. Williamnbsp;T.nbsp;Freeman
  19. 2014年10月25日深圳彩讯科技和北京宇信易诚的笔试记录
  20. 基于遥感的大蒜种植面积量测

热门文章

  1. 注意力机制、bmm运算
  2. 使用HSL连接欧姆龙PLC配置
  3. AMI CORE8 OEM BIOS
  4. 子组件改变父组件的两种方式
  5. 笔记本电脑硬盘不见了_笔记本电脑找不到硬盘原因及解决方法
  6. Bootstrap实战 - 响应式布局
  7. 谈谈EventTime以及Watermark
  8. CVPR 2017:Interspeices Knowledge Transfer for Facial KeyPoint Detection(跨物种脸部关键点检测知识迁移)
  9. windows系统nginx重启发生异常
  10. nas linux手机照片备份,本身着手,组建简洁好用的NAS!(存储同步篇)