
回溯
回溯
萌的咋会有
愿下辈子不用配环境
展开
-
刷题-Leetcode-面试题 08.10. 颜色填充
面试题 08.10. 颜色填充 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/color-fill-lcci/submissions/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目分析 参考链接:十分简单的递归代码解决问题 image[sr][sc]==initColor 为周围区域 class Solution { public: void backtracking(vector<vector&原创 2022-02-19 12:41:56 · 7987 阅读 · 0 评论 -
刷题-Leetcode-面试题 08.09. 括号
面试题 08.09. 括号 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/bracket-lcci/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目分析 参考链接:简单的回溯方法 循环生成可能的括号组合后,去掉不匹配的。 left right分别表示剩余左括号 右括号的个数。(n=3 初始left=right=3) 不匹配情况: 1.剩余左 > 右 2.左为负数 或 右为负数 class Solution原创 2022-02-19 12:11:38 · 7194 阅读 · 0 评论 -
刷题-Leetcode-面试题 08.02. 迷路的机器人
面试题 08.02. 迷路的机器人 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/robot-in-a-grid-lcci/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目分析 思路参考:迷路的机器人,注释详细,朴素思路 访问过的地方设置为障碍物(obstacleGrid[x][y] == 1) backtracking()函数的意义:判断xy能否通过 class Solution { private:原创 2022-02-14 12:48:44 · 669 阅读 · 0 评论 -
刷题-Leetcode-面试题 04.09. 二叉搜索树序列
面试题 04.09. 二叉搜索树序列 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/insert-into-bits-lcci/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目分析 参考链接:c++ 比较容易理解 DFS 回溯 使用deque 而不是queue。 /** * Definition for a binary tree node. * struct TreeNode { * int va原创 2022-02-12 14:48:28 · 421 阅读 · 0 评论 -
刷题-Leetcode-46. 全排列(回溯-排列[有序])
46. 全排列 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/permutations/ 题目描述 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 题目分析 回溯法 找到所有可能-递归 剪枝条件 组合长度为3 class Solution { p原创 2021-01-31 14:01:56 · 187 阅读 · 0 评论 -
刷题-Leetcode-216. 组合总和 III(回溯-组合)
216. 组合总和 III 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/combination-sum-iii/submissions/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k = 3, n = 7原创 2021-05-09 20:21:11 · 110 阅读 · 0 评论 -
刷题-Leetcode-77. 组合(回溯-组合[无序])
77. 组合 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/combinations/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 题目分析 n树的宽度 k树的深度 startIndex原创 2021-05-09 19:09:27 · 156 阅读 · 0 评论 -
刷题-Leetcode-37. 解数独(回溯-棋盘)
37. 解数独 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/sudoku-solver/submissions/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 数独部分空格内原创 2021-05-26 10:52:45 · 176 阅读 · 0 评论 -
刷题-Leetcode-491. 递增子序列(回溯-其他(类似子集))
题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/subsets-ii/submissions/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 题目分析原创 2021-05-20 14:43:30 · 103 阅读 · 0 评论 -
刷题-Leetcode-90. 子集 II(回溯-子集[无序]-去重)
90. 子集 II 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/subsets-ii/submissions/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 题目分析 难点在于集合里有重复的数字,对求取的子集要需要去重。 此题为树层去重和树枝去重的树层去重。 树层去重:先排序,当前数字和上一次的数字相等,则continue。 class Solution { private: vector<原创 2021-05-20 14:27:33 · 127 阅读 · 0 评论 -
刷题-Leetcode-78. 子集(回溯-子集[无序])
78. 子集 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/subsets/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 题目分析 子集是树中所有节点。是模板。 无序 ->for从startIndex开始。 class Solution { private: vector<vector<int>>res; vector<int> path;原创 2021-05-19 20:07:47 · 261 阅读 · 0 评论 -
刷题-Leetcode-93. 复原 IP 地址(回溯-切割)
93. 复原 IP 地址 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/restore-ip-addresses/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 题目分析 难点 1.找分割点。 2.添加‘.’以及确定‘.’添加的数量。pointNum为添加’.'的数量。 3.判断数字是否合法。 数字只包含0-9, 两个及两个以上数字,第一个数字不能为0,即01不允许。 数字和<=255 一直对给原创 2021-05-19 16:49:29 · 139 阅读 · 0 评论 -
刷题-Leetcode-131. 分割回文串(回溯-切割)
131. 分割回文串 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/palindrome-partitioning/submissions/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 题目分析 此题有点难,要找到切割线。 之后还要多做几遍。 class Solution { private: vector<vector<string>> res; vector&原创 2021-05-14 09:58:52 · 76 阅读 · 0 评论 -
刷题-Leetcode-40. 组合总和 II(回溯-组合-去重)
40. 组合总和 II 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/combination-sum-ii/submissions/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数原创 2021-05-12 11:13:33 · 145 阅读 · 0 评论 -
刷题-Leetcode-39. 组合总和(回溯-组合)
39. 组合总和 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/combination-sum/submissions/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target原创 2021-05-12 09:08:57 · 116 阅读 · 0 评论 -
刷题-Leetcode-17. 电话号码的字母组合(回溯-组合)
17. 电话号码的字母组合 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = “23”原创 2021-05-10 14:18:23 · 161 阅读 · 0 评论 -
刷题-Leetcode-47. 全排列 II(回溯-排列[有序]-去重)
47. 全排列 II 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/permutations-ii/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 题目分析 class Solution { //如果这个数和前面数一样 private: vector<vector<int>> res; vector<int> path; void backt原创 2021-05-21 11:04:30 · 167 阅读 · 0 评论 -
刷题-Leetcode-332. 重新安排行程(回溯-其他)
332. 重新安排行程 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reconstruct-itinerary/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。 提示: 如果存在多种有原创 2021-05-24 15:10:21 · 161 阅读 · 0 评论 -
刷题-Leetcode-51. N 皇后(回溯-棋盘)
画树,树的高度=n原创 2021-05-24 16:01:49 · 135 阅读 · 0 评论