技术栈
回溯算法
老鼠只爱大米
17 天前
算法
·
leetcode
·
动态规划
·
剪枝
·
回溯算法
·
组合总和
LeetCode经典算法面试题 #39:组合总和(回溯法、动态规划、记忆化搜索等五种实现方案详细解析)
给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target,找出 candidates 中可以使数字和为目标数 target 的 所有不同组合,并以列表形式返回。你可以按 任意顺序 返回这些组合。
老鼠只爱大米
18 天前
算法
·
leetcode
·
动态规划
·
递归
·
回溯算法
·
卡特兰数
·
括号生成
LeetCode经典算法面试题 #22:括号生成(回溯法、动态规划、闭合数法等五种实现方案解析)
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:
I_LPL
20 天前
算法
·
hot100
·
回溯算法
·
求职面试
day23 代码随想录算法训练营 回溯专题2
组合总和 39. 组合总和 - 力扣(LeetCode)组合总和Ⅱ 40. 组合总和 II - 力扣(LeetCode)
I_LPL
22 天前
算法
·
回溯算法
·
求职面试
·
组合问题
day22 代码随想录算法训练营 回溯专题1
组合 77. 组合 - 力扣(LeetCode)组合总和Ⅲ 216. 组合总和 III - 力扣(LeetCode)
卷卷的小趴菜学编程
1 个月前
c++
·
算法
·
递归
·
回溯算法
·
暴力搜索
·
floodfill算法
·
二叉树深搜
算法篇----递归回溯
核心要点:构造一个函数来实现题目要实现的功能,不要去想这个函数怎么完成这个功能,就无条件相信它一定可以,之后写出递归出口,让函数自己调用自己,在做题时,不要格外关注这个递归函数的细节展开图(展开会很乱,容易把自己搞晕),无条件相信就好,就像要无条件相信自己的女朋友一样,具体步骤就是,找到相同的重复的子问题,设计函数头,随后只关注一个子问题是怎样解决的,根据此编写函数体,最后注意一下递归出口即可!!
漫随流水
1 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(46.全排列)
首先排列是有序的,也就是说 [1,2] 和 [2,1] 是两个集合,这和之前分析的子集以及组合所不同的地方。
漫随流水
1 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(93.复原IP地址)
startIndex一定是需要的,因为不能重复分割,记录下一层递归分割的起始位置。本题我们还需要一个变量pointNum,记录添加逗点的数量。
漫随流水
1 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(90.子集Ⅱ)
树层重复(需要跳过):在同一递归层级(同一层for循环)前一个相同元素没有被选择示例:在第二层,used[1]==false 且 nums[2]==nums[1]
漫随流水
1 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(491.非递减子序列)
本题求自增子序列,是不能对原数组进行排序的,排完序的数组都是自增子序列了。所以不能使用之前几道题的去重逻辑!
漫随流水
1 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(78.子集)
剩余集合为空的时候,就是叶子节点。那么什么时候剩余集合为空呢?就是startIndex已经大于数组的长度了,就终止了,因为没有元素可取了,代码如下:
漫随流水
1 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(131.分割回文串)
因为:isPalindrome 只是读取字符串,不修改它但最好加上 const:bool isPalindrome(const string &s, ...)
漫随流水
1 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(17.电话号码的字母组合)
定义一个二维数组例如:输入:"23",抽象为树形结构,如图所示:图中可以看出遍历的深度,就是输入"23"的长度,而叶子节点就是我们要收集的结果,输出["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]。
漫随流水
1 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(39.组合总和)
例子:candidates = [2,3,6,7], target = 7..................
漫随流水
1 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(77.组合)
回溯法解决的问题都可以抽象为树形结构(N叉树),用树形结构来理解回溯就容易多了。那么我把组合问题抽象为如下树形结构:
漫随流水
1 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(216.组合总和Ⅲ)
玄冥剑尊
1 个月前
算法
·
回溯算法
回溯算法深化 II
给你一个整数数组 nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。数组中可能包含重复元素,如 [4,6,7,7] 的结果需去重。
好易学·数据结构
6 个月前
数据结构
·
算法
·
leetcode
·
力扣
·
递归
·
回溯算法
·
牛客
可视化图解算法60: 矩阵最长递增路径
牛客网 面试笔试 TOP101给定一个 n 行 m 列矩阵 matrix ,矩阵内所有数均为非负整数。 你需要在矩阵中找到一条最长路径,使这条路径上的元素是递增的。并输出这条最长路径的长度。
睡不醒的kun
6 个月前
数据结构
·
c++
·
算法
·
leetcode
·
职场和发展
·
回溯算法
·
回归算法
leetcode算法刷题的第二十一天
题目链接思路总结:这道题目相信大家刚看的时候,应该会一脸茫然。其实只要意识到这是切割问题,切割问题就可以使用回溯搜索法把所有可能性搜出来。
好易学·数据结构
7 个月前
数据结构
·
算法
·
leetcode
·
面试
·
笔试
·
回溯算法
·
牛客
可视化图解算法57:字符串的排列
牛客网 面试笔试 TOP101 | LeetCode 3437. 全排列III输入一个长度为 n 字符串,打印出该字符串中字符的所有排列,你可以以任意顺序返回这个字符串数组。
qqxhb
7 个月前
算法
·
回溯算法
·
全排列
·
n皇后
·
子集
零基础数据结构与算法——第五章:高级算法-回溯算法&子集&全排列问题
问题描述:给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。生活例子:想象你是一名餐厅经理,有一份包含多种食材的菜单(如牛肉、鸡肉、蔬菜、米饭)。顾客可以选择任意组合的食材来定制自己的餐点。你需要列出所有可能的组合选择,包括不选任何食材(空盘子)、只选一种食材、选两种食材的组合,一直到选择所有食材的组合。