回溯
NLP_victor
这个作者很懒,什么都没留下…
展开
-
LeetCode842. 将数组拆分成斐波那契序列(回溯+剪枝)
1、题目描述https://leetcode-cn.com/problems/split-array-into-fibonacci-sequence/给定一个数字字符串S,比如S = "123456579",我们可以将它分成斐波那契式的序列[123, 456, 579]。另外,请注意,将字符串拆分成小块时,每个块的数字一定不要以零开头,除非这个块是数字 0 本身。返回从 S 拆分出来的任意一组斐波那契式的序列块,如果不能拆分则返回 []。输入:"123456579"输出:[...原创 2020-12-08 17:29:12 · 227 阅读 · 0 评论 -
LeetCode51、52N皇后(回溯)Python
51. N 皇后https://leetcode-cn.com/problems/n-queens/n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。 皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。class S...原创 2020-10-17 22:24:55 · 321 阅读 · 1 评论 -
LeetCode37. 解数独(回溯+set)
1、题目描述https://leetcode-cn.com/problems/sudoku-solver/编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。空白格用'.'表示。from typing import Listclass Solution: def solveSudoku(sel...原创 2020-09-15 23:46:19 · 236 阅读 · 0 评论 -
LeetCode78. 子集+90. 子集 II(回溯)
78. 子集https://leetcode-cn.com/problems/subsets/给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。输入: nums = [1,2,3]输出: [[], [1], [1, 2], [1, 2, 3], [1, 3], [2], [2, 3], [3]]回溯代码class Solution(object): def subsets(self, nums): .原创 2020-09-13 23:00:23 · 187 阅读 · 0 评论 -
LeetCode40. 组合总和 II+216. 组合总和 III(回溯)
40. 组合总和 IIhttps://leetcode-cn.com/problems/combination-sum-ii/给定一个数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。输入: candidates =[10,1,2,7,6,1,5], target =8,...原创 2020-09-11 23:24:12 · 185 阅读 · 0 评论 -
回溯-LeetCode77. 组合(Python)
1、题目描述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],]回溯回溯-39. 组合总和https://blog.csdn.net/IOT_victor/article/details/10764618577...原创 2020-09-08 10:27:48 · 462 阅读 · 0 评论 -
DFS、回溯-LeetCode491. 递增子序列
1、题目描述https://leetcode-cn.com/problems/increasing-subsequences/给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。输入: [4, 6, 7, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]给定数组的长度不会超过15。 数组中的整数范围是[-100,100]。 给定数组中.原创 2020-08-25 23:45:28 · 186 阅读 · 0 评论 -
回溯-LeetCode39. 组合总和
1、题目描述https://leetcode-cn.com/problems/combination-sum/给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。输入:candidates = [2,3,6,7], target = 7,所求解集为:[[7], [2,...原创 2020-07-28 22:33:32 · 226 阅读 · 0 评论 -
字符串、回溯-LeetCode93. 复原IP地址
1、题目描述https://leetcode-cn.com/problems/restore-ip-addresses/给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔。输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]2、代码详解暴力class Solution(object): d原创 2020-07-23 17:33:09 · 240 阅读 · 0 评论 -
回溯、剪枝-LeetCode47. 全排列 II
1、题目描述https://leetcode-cn.com/problems/permutations-ii/给定一个可包含重复数字的序列,返回所有不重复的全排列。2、代码详解相关题:回溯-LeetCode46. 全排列(不重复的数字)https://blog.csdn.net/IOT_victor/article/details/107072205加入 nums[i] == nums[i-1] 判断 nums.sort()class Solution(object): ..原创 2020-07-01 22:53:34 · 268 阅读 · 0 评论 -
回溯-LeetCode46. 全排列
1、题目描述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]]2、代码详解回溯法模板https://leetcode-cn.com/problems/permutations/solution/hui-su-...原创 2020-07-01 21:21:42 · 201 阅读 · 0 评论 -
回溯、DFS-LeetCode22.括号生成
1、题目描述https://leetcode-cn.com/problems/generate-parentheses/数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。3个左括号,3个右括号,一共有5种组合。2、代码详解标签:回溯算法class Solution(object): def generateParenthesis(self, n): """ :type n: int原创 2020-06-29 20:00:36 · 235 阅读 · 0 评论