leetcode系列--40.组合总和 II
leetcode系列–第40题.组合总和 II
给你一个由候选元素组成的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个元素在每个组合中只能使用 一次 。注意:解集不能包含重复的组合。
输入: candidates = [10,1,2,7,6,1,5], target = 8,
输出:
[[1,1,6],[1,2,5],[1,7],[2,6]
]输入: candidates = [2,5,2,1,2], target = 5,
输出:
[[1,2,2],[5]
]
// 40题和39题的区别就是去重
// 去重第一步。数组 排序
/*** @param {number[]} candidates* @param {number} target* @return {number[][]}*/
var combinationSum2 = function (candidates, target) {// 数组排序let candidatesSort = candidates.sort((a, b) => a - b)let result = [], // 输出结果数组path = [] // 路径数组fnHelp(candidatesSort, target, 0)return resultfunction fnHelp(candidates, target, startIndex) {// 递归结束条件if (sum(path) === target) {result.push([...path])return} else if (sum(path) > target) {return} let temp = -1; // 设定一个暂时区纪录上一个数for (let i = startIndex; i < candidates.length; i++) {if (candidates[i] === temp) {continue}path.push(candidates[i])temp = candidates[i];fnHelp(candidates, target, i + 1)path.pop()}}function sum(arr) {let res = arr.length && arr.reduce((prev, cur) => {return prev + cur})return res}
};
leetcode系列--40.组合总和 II相关推荐
- 【LeetCode】40. 组合总和 II (JavaScript)
原题 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组 ...
- leetcode 39. 组合总和 40. 组合总和 II
leetcode 39. 组合总和 40. 组合总和 II 组合总和 给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和 ...
- 77.组合 | 40.组合总和II | 39.组合总和 | 784.字母大小写全排列
77.组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合. 你可以按 任何顺序 返回答案. 示例 1: 输入:n = 4, k = 2 输出: [ [2,4], ...
- Suzy找到实习了吗 Day27 | 回溯进行中:39. 组合总和,40. 组合总和 II,131.分割回文串
39. 组合总和 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 , ...
- LeetCode 40. 组合总和 II(排列组合 回溯)
1. 题目 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只 ...
- leetcode系列--39.组合总和
leetcode系列–第39题.组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 ...
- leetcode系列--216.组合总和 III
leetcode系列–第216题.组合总和 III 找出所有相加之和为 n 的 k 个数的组合.组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字.说明:所有数字都是正整数.解集不 ...
- python两两组合求和_LeetCode-python 40.组合总和 II
题目链接 难度:中等 类型: 深度优先搜索 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. ca ...
- leetcode —— 40. 组合总和 II
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使用一次. ...
最新文章
- mysql dump 到的文件_mysql查询结果导出到文件
- python输入流和输出流_python读写gbk、utf-8等输入输出流
- mysqldump导出备份数据库报Table ‘performance_schema.session_variables‘ doesn‘t exist
- ASP.NET Core 整合Autofac和Castle实现自动AOP拦截
- FFT/NTT/FMT/FWT题目
- 【转】MVVM大比拼小结
- 铁大Facebook——十天冲刺(1)
- SAP License:客户统驭科目某天余额取数逻辑
- 计算机视觉专硕:OCR、实习和秋招
- C#之double内存
- Android 中的长度单位详解(dp、sp、px、in、pt、mm)具体解释与换算
- 人生三重界---看山不是山,看水不是水
- 【Vim】安装你的第一个Vim插件vim-pathogen
- android UI设计图片和文字尺寸px对应dp、sp值换算
- 如何盘活新零售5大线上线下交互模式?拥抱用户与收益增长
- 窗口分析函数_12_生成累计百分比排名
- mysql 重命名库_MySQL 库名重命名
- matlab数据归一化与反归一化处理
- 基于javaweb+springboot的医院管理系统(java+Springboot+ssm+mysql+maven)
- 终于当选微软2012年4月最有价值专家(MVP)了,不容易啊。都来恭喜一哈