40. Combination Sum II 组合总和 II
给定一个数组 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] ]
递归
跟昨天的39. Combination Sum 组合总和一样,只不过加了个限制每个数字只能使用一次的条件。
Code
def combinationSum2(self, candidates: List[int], target: int) -> List[List[int]]:def dfs(start, use, remain):for index, value in enumerate(candidates[start:]):if value == remain and use + [value] not in ans:ans.append(use + [value])elif value < remain:dfs(start + index + 1, use + [value], remain - value)else:return ans = []candidates.sort()dfs(0, [], target)return ans
40. Combination Sum II 组合总和 II相关推荐
- 216. Combination Sum III 组合总和 III
找出所有相加之和为 n 的 k 个数的组合.组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字. 说明: 所有数字都是正整数. 解集不能包含重复的组合. 示例 1: 输入: k = ...
- leetcode 39. Combination Sum | 39. 组合总和(Java)
题目 https://leetcode.com/problems/combination-sum/ 题解 不是最优解法. 对于每一个位置 i 上 的元素,分为选或不选两种情况. 遍历每一个位置,计算强 ...
- 77.组合 | 40.组合总和II | 39.组合总和 | 784.字母大小写全排列
77.组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合. 你可以按 任何顺序 返回答案. 示例 1: 输入:n = 4, k = 2 输出: [ [2,4], ...
- leetcode系列--40.组合总和 II
leetcode系列–第40题.组合总和 II 给你一个由候选元素组成的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合 ...
- leetcode 39. 组合总和 40. 组合总和 II
leetcode 39. 组合总和 40. 组合总和 II 组合总和 给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和 ...
- Suzy找到实习了吗 Day27 | 回溯进行中:39. 组合总和,40. 组合总和 II,131.分割回文串
39. 组合总和 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 , ...
- ii 组合总和_40. 组合总和 II
题目描述: 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只 ...
- 005. 组合总和 II
1.题目链接: 40. 组合总和 II 2.解题思路: 树层:同层遍历 树枝:递归遍历 2.1.题目要求: 给定一个数组 candidates 和一个目标数 target ,找出 candidates ...
- Leetcode 组合总和II
组合总和II 题目描述: 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字 ...
最新文章
- 计算机二级vfp知识点,全国计算机二级等级考试VFP知识点提纲
- notepad如何新建php,notepad新手怎么使用教程
- linux增加电子档案空间,Linux 建立 SWAP 档案空间
- emplace与insert
- origin图上显示数据标签_Origin(Pro):寒假都结束了,这个图还是不会画?【数据绘图】...
- Arm学习总结之 32位和64位寄存器
- 泛型的应用-vue3之ref
- 第二次作业—熟悉使用工具
- 为什么数据库表字段要限制长度?
- 智能小车——循迹、避障小车(附详细代码)
- win10完美运行红警
- 团队管理14--盘点团队
- 码农到架构师视频学习笔记
- [blockchain-042]eos 硅谷ecs docer编译 mongo存储
- Android App 耗电的测试方法
- R语言 quantmod 如何下载汇率
- [bzoj4372]烁烁的游戏
- 搭建CTF-AWD训练平台
- oracle ins ctx.mk,(原创)RHEL/CentOS 6.x 64位安装Oracle11gR2 64位出现ins_ctx.mk报错解决...
- 【软工实践】第10组 团队展示(组长)
热门文章
- v-charts修改点击图例事件,legendselectchanged
- Nmap参数--探索网络
- QDir, QFileInfo 和 QDirIterator 区别
- SQL SERVER – Beginning of SQL Server Architecture – Terminology – Guest Post
- Windows 系统下Git安装图解
- Axure RP Pro 6.0 原型设计工具(产品经理必备)
- Net中如何操作IIS
- ubuntu18.04安装windows版本微信
- 【C语言练习】将100~200之间的素数输出
- sql导入excel数据失败_nifi入门从Excel数据导入ES开始