回溯算法
lyd1995
这个作者很懒,什么都没留下…
展开
-
LeetCode17-电话号码的字母组合
LeetCode17-电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。...原创 2019-02-20 15:03:21 · 160 阅读 · 0 评论 -
LeetCode131-分割回文串
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: "aab"输出:[ ["aa","b"], ["a","a","b"]]一、思路(一)回溯法之前的回溯算法里提到过,凡是求解带“所有”这类的字眼的题目,都可以采取回溯,回溯法每次递归都解决一小部分问题。这里的“一小部分问题”应该是:寻找从当前位置出发的一个回...原创 2019-06-17 15:03:37 · 216 阅读 · 0 评论 -
LeetCode93-复原IP地址
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]一、思路求“所有”的问题,一般都能用回溯法来解决这里需要注意一下,回溯是有条件的...原创 2019-04-29 20:15:57 · 476 阅读 · 0 评论 -
LeetCode78-子集
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]一、思路(一)回溯算法求全部子集,这一类包含“全部”字样的问题都能使用回溯算法解决问题在于,...原创 2019-04-10 09:08:20 · 164 阅读 · 0 评论 -
LeetCode77-组合
LeetCode77-组合给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]一、回溯算法很明显的回溯特征,凡是要求列出全部的可能的题目都可以用回溯算法解决并且数字都是有序的,可以加以利用,使得确保:n...原创 2019-03-28 17:19:09 · 133 阅读 · 0 评论 -
腾讯机试题1
小Q打算穿越怪兽谷,他不会打怪,但是他有钱。他知道,只要给怪兽一定的金币,怪兽就会一直护送他出谷。在谷中,他会一次遇见N只怪兽,每只怪兽都有自己的武力值和要“贿赂”它所需的金币。如果小Q没有“贿赂”它而它的武力值又高于护送小Q的所有怪兽的武力值之和,这只怪兽就会攻击小Q小Q想知道,要想成功穿越怪兽谷而不被攻击,最少要准备多少金币?输入描述:第一行:输入一个整数N,代表怪兽的数量第二行:输...原创 2019-04-06 18:33:42 · 689 阅读 · 1 评论 -
LeetCode40-组合总和 II
LeetCode40-组合总和 II给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], ta...原创 2019-03-13 18:07:04 · 103 阅读 · 0 评论 -
LeetCode39-组合总和
LeetCode39-组合总和给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7], target...原创 2019-03-12 11:50:36 · 105 阅读 · 0 评论 -
LeetCode47-全排列 II
LeetCode47-全排列 II给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]一、思路(一)回溯算法无重复的全排列可以使用回溯算法,那么有重复的可不可以呢?当然可以,只要使用集合去重即可!!!C++代码:class Solution {public: set...原创 2019-03-14 15:05:26 · 107 阅读 · 0 评论 -
LeetCode46-全排列
LeetCode46-全排列给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]一、思路(一)可移动数这个方法需要记录每个数的移动方向(向左or向右),而且当最大数不能移动时,还要寻找下一个可移动的最大数,移动之...原创 2019-03-14 13:42:21 · 203 阅读 · 0 评论 -
leetcode306-累加数
给定一个只包含数字 ‘0’-‘9’ 的字符串,编写一个算法来判断给定输入是否是累加数。说明: 累加序列里的数不会以 0 开头,所以不会出现 1, 2, 03 或者 1, 02, 3 的情况。示例 1:输入: "112358"输出: true 解释: 累加序列为: 1, 1, 2, 3, 5, 8 。1 + 1 = 2, 1 + 2 = 3, 2 + 3 = 5, 3 + 5 = 8示...原创 2019-09-17 11:24:00 · 228 阅读 · 0 评论