
回溯
文章平均质量分 57
回溯算法,决策树,子集,组合,排列问题
pre_eminent
这个作者很懒,什么都没留下…
展开
-
216. 组合总和 III【Normal】【回溯】
题目:找出所有相加之和为n 的k个数的组合。组合中只允许含有 1 -9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]思路:回溯解答:/** * @param {number} k * @param {number} n...原创 2022-01-27 22:18:44 · 641 阅读 · 0 评论 -
90. 子集 II【Normal】【回溯】
给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。示例 1:输入:nums = [1,2,2]输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]示例 2:输入:nums = [0]输出:[[],[0]]提示:1 <= nums.length <= 10-10 <= nums[i] <= 10思路:1. .原创 2022-01-27 21:27:43 · 715 阅读 · 0 评论 -
113. 路径总和 II【回溯】【Normal】
113. 路径总和 II难度中等给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。叶子节点是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22输出:[[5,4,11,2],[5,8,4,5]]示例 2:输入:root = [1,2,3], targetSum = 5输出:...原创 2022-01-13 23:18:47 · 205 阅读 · 0 评论 -
131. 分割回文串【回溯】【Normal】
131. 分割回文串难度中等给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。回文串是正着读和反着读都一样的字符串。示例 1:输入:s = "aab"输出:[["a","a","b"],["aa","b"]]示例 2:输入:s = "a"输出:[["a"]]提示:1 <= s.length <= 16 s仅由小写英文字母组成思路:1. 回溯参数:startIndex2. ...原创 2022-01-13 23:02:39 · 190 阅读 · 0 评论 -
93. 复原 IP 地址【回溯】【Normal】
93. 复原 IP 地址难度中等有效 IP 地址正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用'.'分隔。例如:"0.1.2.201" 和 "192.168.1.1" 是有效IP 地址, 但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是无效IP 地址。给定一个只包含数字的字符串s,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在s中插入'....原创 2022-01-13 23:12:49 · 806 阅读 · 0 评论 -
40. 组合总和 II【回溯】【Normal】
40. 组合总和 II难度中等给你一个由候选元素组成的集合candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个元素在每个组合中只能使用一次。注意:解集不能包含重复的组合。示例1:输入: candidates =[10,1,2,7,6,1,5], target =8,输出:[[1,1,6],[1,2,5],[1,7],[2,6]]示例2:输...原创 2022-01-11 00:30:45 · 277 阅读 · 0 评论 -
79. 单词搜索【回溯】【Normal】
79. 单词搜索难度中等给定一个m x n二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例 1:输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word ...原创 2022-01-09 21:41:32 · 411 阅读 · 0 评论 -
47.全排列 II【回溯】【Normal】
47. 全排列 II难度中等给定一个可包含重复数字的序列nums,按任意顺序返回所有不重复的全排列。注意:nums中包含重复数字,同时结果集 里面又不能重复示例 1:输入:nums = [1,1,2]输出:[[1,1,2], [1,2,1], [2,1,1]]示例 2:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]提示:1 <= nums....原创 2022-01-09 19:06:10 · 279 阅读 · 0 评论 -
46. 全排列【回溯】【Normal】
46. 全排列难度中等给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]提示:1 <= nums.length <= ...原创 2022-01-09 17:40:11 · 581 阅读 · 0 评论 -
39. 组合总和【回溯】【Normal】
39. 组合总和难度中等给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。你可以按任意顺序返回这些组合。candidates中的同一个数字可以无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为target的不同组合数少于150个。示例1:输入:candidates = [2...原创 2022-01-09 16:47:01 · 461 阅读 · 0 评论 -
17. 电话号码的字母组合【回溯】【Normal】
题目17. 电话号码的字母组合难度中等给定一个仅包含数字2~9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]示例 3:输入:digits = "2"输出...原创 2022-01-09 15:15:35 · 212 阅读 · 0 评论 -
1863. 找出所有子集 的异或总和 再求和【回溯】
1863. 找出所有子集的异或总和再求和一个数组的异或总和定义为数组中所有元素按位XOR的结果;如果数组为空,则异或总和为0。例如,数组[2,5,6]的异或总和为2 XOR 5 XOR 6 = 1。给你一个数组nums,请你求出nums中每个子集的异或总和,计算并返回这些值相加之和。注意:在本题中,元素相同的不同子集应多次计数。数组a是数组b的一个子集的前提条件是:从b删除几个(也可能不删除)元素能够得到a。...原创 2022-01-08 16:37:05 · 458 阅读 · 0 评论 -
78.子集【回溯】【Normal】
子集给你一个整数数组 numArr ,数组中的元素 互不相同 。返回该数组 所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]提示:1 <= nums.length <= 10-10 <= nums[i] <= 10nums 中的所.原创 2022-01-08 14:52:06 · 516 阅读 · 0 评论