![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
回溯
LeetCode 题目,不一定是最好的解法,但力求简洁、易懂
Rock在学习
这个作者很懒,什么都没留下…
展开
-
回溯刷题目录
名称力扣地址难度标签原创 2023-12-09 15:41:31 · 386 阅读 · 0 评论 -
51. N 皇后(困难)
按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。解释:如上图所示,4 皇后问题存在两个不同的解法。原创 2024-01-07 07:50:14 · 416 阅读 · 0 评论 -
17. 电话号码的字母组合(中等)
输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。输入:digits = “23”原创 2024-01-06 18:34:11 · 419 阅读 · 0 评论 -
93. 复原 IP 地址(中等)
给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。输入:s = “25525511135”原创 2024-01-05 20:21:45 · 527 阅读 · 0 评论 -
131. 分割回文串(中等)
给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串。返回 s 所有可能的分割方案。输出:[[“a”,“a”,“b”],[“aa”,“b”]]回文串 是正着读和反着读都一样的字符串。输入:s = “aab”原创 2024-01-04 22:33:54 · 460 阅读 · 0 评论 -
47. 全排列 II(中等)(LCR 084)
给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。输入:nums = [1,1,2]原创 2024-01-03 23:01:15 · 520 阅读 · 0 评论 -
46. 全排列(中等)(LCR 083)
输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。你可以 按任意顺序 返回答案。输入:nums = [1,2,3]原创 2024-01-02 21:25:44 · 917 阅读 · 0 评论 -
491. 非递减子序列(中等)
给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素。你可以按 任意顺序 返回答案。输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。输入:nums = [4,6,7,7]原创 2024-01-01 11:03:10 · 475 阅读 · 0 评论 -
698. 划分为k个相等的子集(中等)
给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4。原创 2023-12-31 08:51:03 · 654 阅读 · 0 评论 -
216. 组合总和 III(中等)
返回 所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。输入: k = 3, n = 7。输出: [[1,2,4]]每个数字 最多使用一次。没有其他符合的组合了。原创 2023-12-31 08:49:22 · 453 阅读 · 0 评论 -
39. 组合总和(中等)
给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。如果至少一个数字的被选数量不同,则两种组合是不同的。2 和 3 可以形成一组候选,2 + 2 + 3 = 7。注意 2 可以使用多次。输入:candidates = [2,3,6,7], target = 7。7 也是一个候选, 7 = 7。输出:[[2,2,3],[7]]原创 2023-12-30 08:30:22 · 395 阅读 · 0 评论 -
40. 组合总和 II(中等)
给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次。输入: candidates = [10,1,2,7,6,1,5], target = 8,注意:解集不能包含重复的组合。原创 2023-12-29 22:23:59 · 568 阅读 · 0 评论 -
77. 组合(中等)
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。输入:n = 4, k = 2。原创 2023-12-28 22:59:44 · 862 阅读 · 0 评论 -
90. 子集 II(中等)
给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]输入:nums = [1,2,2]原创 2023-12-09 15:47:03 · 423 阅读 · 0 评论 -
78. 子集(中等)
给你一个整数数组 nums ,数组中的元素 互不相同。返回该数组所有可能的子集(幂集)。输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。输入:nums = [1,2,3]原创 2023-12-09 15:42:11 · 356 阅读 · 0 评论