
回溯法
Z_Y_D_
这个作者很懒,什么都没留下…
展开
-
LeetCode 组合总和 II 重点整理回溯法
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。 示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集...原创 2018-09-29 10:05:10 · 247 阅读 · 0 评论 -
LeetCode 526. 优美的排列
假设有从 1 到 N 的N个整数,如果从这N个数字中成功构造出一个数组,使得数组的第 i位 (1 <= i <= N) 满足如下两个条件中的一个,我们就称这个数组为一个优美的排列。条件:第i位的数字能被i整除i 能被第 i 位上的数字整除现在给定一个整数 N,请问可以构造多少个优美的排列?示例1:输入: 2输出: 2解释:第 1 个优美的排列...原创 2019-08-09 00:52:16 · 273 阅读 · 0 评论 -
22. 括号生成
给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parenthe...原创 2019-08-02 22:21:43 · 164 阅读 · 0 评论 -
LeetCode 140. 单词拆分 II
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入:s = "catsanddog"wordDict = ["cat", "cats", "and", "sand", "dog"]输...原创 2019-07-12 00:38:39 · 181 阅读 · 0 评论 -
LeetCode 139. 单词拆分
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以被...原创 2019-07-11 15:26:45 · 198 阅读 · 0 评论 -
LeetCode 1079. 活字印刷
你有一套活字字模tiles,其中每个字模上都刻有一个字母tiles[i]。返回你可以印出的非空字母序列的数目。示例 1:输入:"AAB"输出:8解释:可能的序列为 "A", "B", "AA", "AB", "BA", "AAB", "ABA", "BAA"。示例 2:输入:"AAABBC"输出:188提示:1 <= tiles.length <...原创 2019-06-30 16:31:54 · 582 阅读 · 0 评论 -
LeetCode 77. 组合
给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。示例:输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/combinations著作权归领扣网络所...原创 2019-06-26 21:57:25 · 178 阅读 · 0 评论 -
LeetCode 78. 子集
给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro...原创 2019-06-23 15:45:02 · 164 阅读 · 0 评论 -
LeetCode 17. 电话号码的字母组合
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/let...原创 2019-06-26 13:53:05 · 185 阅读 · 0 评论 -
leetcode 113.路径总和
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ ...原创 2019-05-14 21:27:40 · 162 阅读 · 0 评论 -
LeetCode 322. 零钱兑换 完全背包问题
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明...原创 2019-04-07 01:36:57 · 1840 阅读 · 2 评论 -
矩阵路径 回溯法 DFS
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个...原创 2019-03-20 23:41:22 · 370 阅读 · 0 评论 -
LeetCode 131. 分割回文串
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入:"aab"输出:[ ["aa","b"], ["a","a","b"]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-partitioning著作权归领扣网络所有。商业转载请联系...原创 2019-09-15 17:13:15 · 219 阅读 · 0 评论