内容简介:Given aThe回溯法(深度优先搜索,Depth-First Search)
原题
Given a set of candidate numbers ( candidates
) (without duplicates) and a target number ( target
), find all unique combinations in candidates
where the candidate numbers sums to target
.
The same repeated number may be chosen from candidates
unlimited number of times.
Note:
target
Example 1:
<strong>Input:</strong> candidates = <code>[2,3,6,7], </code>target = <code>7</code>, <strong>A solution set is:</strong> [ [7], [2,2,3] ]
Example 2:
<strong>Input:</strong> candidates = [2,3,5]<code>, </code>target = 8, <strong>A solution set is:</strong> [ [2,2,2,2], [2,3,3], [3,5] ]
题解
讲义
考察知识点:
回溯法(深度优先搜索,Depth-First Search)
回溯法搜索轨迹示意图:
代码
class Solution { public: vector<vector <int>> combinationSum(vector<int>& candidates, int target) { vector<vector <int>> result{}; vector<int> candidate{}; sort(candidates.begin(), candidates.end()); sum(result, candidates, target, candidate, 0); return result; } void sum(vector<vector <int>>& result, vector<int>& candidates, int target, vector</int><int>& candidate, int level) { // up to the target if (target == 0) { result.push_back(candidate); return; } for (int i = level; i < candidates.size() && candidates[i] <= target; ++i) { candidate.push_back(candidates[i]); sum(result, candidates, target - candidates[i], candidate, i); candidate.pop_back(); } } };
文章来源:胡小旭 => 小旭讲解 LeetCode 39. Combination Sum 回溯法
题解视频背景音乐:《Sad Angel》
以上所述就是小编给大家介绍的《小旭讲解 LeetCode 39. Combination Sum 回溯法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 回溯算法讲解--适用于leetcode绝大多数回溯题目
- 常用算法之回溯法
- leetcode题解(递归和回溯法)
- 精读《手写 SQL 编译器 - 回溯》
- Linux内核的栈回溯与妙用
- tshark + Elasticsearch 打造流量回溯分析系统
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Scrum精髓
Kenneth Rubin / 姜信宝、米全喜、左洪斌、(审校)徐毅 / 清华大学出版社 / 2014-6-1 / CNY 79.00
短短几年时间,Scrum跃升为敏捷首选方法,在全球各地得以普遍应用。针对如何用好、用巧这个看似简单的框架,本书以通俗易懂的语言、条理清晰的脉络阐述和提炼出Scrum的精髓。全书共4部分23章,阐述了七大核心概念:Scrum框架,敏捷原则,冲刺,需求和用户故事,产品列表,估算与速率,技术债;三大角色:产品负责人,ScrumMaster,开发团队以及Scrum团队构成:Scrum规划原则及四大规划活动......一起来看看 《Scrum精髓》 这本书的介绍吧!