技术栈
回溯算法
geovindu
2 天前
java
·
开发语言
·
windows
·
后端
·
算法
·
回溯算法
java: Backtracking Algorithm
项目结构:调用:输出:
geovindu
3 天前
开发语言
·
后端
·
算法
·
golang
·
回溯算法
go:Backtracking Algorithm
项目结构:调用:介绍了一个基于回溯算法的珠宝搭配系统实现,主要包含:系统支持特定场景(婚嫁、通勤等)的珠宝搭配推荐,并考虑预算、库存等约束条件,最终输出按评分排序的TopN推荐方案。
北域码匠
8 天前
dfs
·
二叉树遍历
·
回溯算法
·
深度优先搜索
·
图论算法
·
面试算法
·
c# 算法
深度优先搜索算法(DFS)超全详解|原理+流程+性能分析+完整C#源码(无第三方库)
深度优先搜索(DFS)是图与树遍历的核心算法,也是暴力搜索与回溯算法的经典代表,广泛应用于算法竞赛、工程开发、人工智能及网络分析等领域。本文系统讲解DFS的历史背景、基本原理、执行流程、性能分析及适用场景,并提供两套原生C#实现方案(递归版与栈迭代版),涵盖树遍历、图遍历及路径查找等实战案例,所有代码均可直接运行。内容全面且精炼,适合零基础学习、面试备考与技术博客撰写,助力提升CSDN账号影响力。
人道领域
2 个月前
算法
·
leetcode
·
回溯算法
【LeetCode刷题日记】39.组合总和&&40.组合总和Ⅱ
🔥个人主页:代码不加冰(欢迎来访) 🎬作者简介:java后端学习者 ❄️个人专栏:LeetCode刷题日记 , 苍穹外卖日记,SSM框架深入,JavaWeb, ✨命运的结局尽可永在,不屈的挑战却不可须臾或缺!
老鼠只爱大米
6 个月前
算法
·
leetcode
·
动态规划
·
剪枝
·
回溯算法
·
组合总和
LeetCode经典算法面试题 #39:组合总和(回溯法、动态规划、记忆化搜索等五种实现方案详细解析)
给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target,找出 candidates 中可以使数字和为目标数 target 的 所有不同组合,并以列表形式返回。你可以按 任意顺序 返回这些组合。
老鼠只爱大米
6 个月前
算法
·
leetcode
·
动态规划
·
递归
·
回溯算法
·
卡特兰数
·
括号生成
LeetCode经典算法面试题 #22:括号生成(回溯法、动态规划、闭合数法等五种实现方案解析)
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:
I_LPL
6 个月前
算法
·
hot100
·
回溯算法
·
求职面试
day23 代码随想录算法训练营 回溯专题2
组合总和 39. 组合总和 - 力扣(LeetCode)组合总和Ⅱ 40. 组合总和 II - 力扣(LeetCode)
I_LPL
6 个月前
算法
·
回溯算法
·
求职面试
·
组合问题
day22 代码随想录算法训练营 回溯专题1
组合 77. 组合 - 力扣(LeetCode)组合总和Ⅲ 216. 组合总和 III - 力扣(LeetCode)
卷卷的小趴菜学编程
6 个月前
c++
·
算法
·
递归
·
回溯算法
·
暴力搜索
·
floodfill算法
·
二叉树深搜
算法篇----递归回溯
核心要点:构造一个函数来实现题目要实现的功能,不要去想这个函数怎么完成这个功能,就无条件相信它一定可以,之后写出递归出口,让函数自己调用自己,在做题时,不要格外关注这个递归函数的细节展开图(展开会很乱,容易把自己搞晕),无条件相信就好,就像要无条件相信自己的女朋友一样,具体步骤就是,找到相同的重复的子问题,设计函数头,随后只关注一个子问题是怎样解决的,根据此编写函数体,最后注意一下递归出口即可!!
漫随流水
6 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(46.全排列)
首先排列是有序的,也就是说 [1,2] 和 [2,1] 是两个集合,这和之前分析的子集以及组合所不同的地方。
漫随流水
6 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(93.复原IP地址)
startIndex一定是需要的,因为不能重复分割,记录下一层递归分割的起始位置。本题我们还需要一个变量pointNum,记录添加逗点的数量。
漫随流水
6 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(90.子集Ⅱ)
树层重复(需要跳过):在同一递归层级(同一层for循环)前一个相同元素没有被选择示例:在第二层,used[1]==false 且 nums[2]==nums[1]
漫随流水
6 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(491.非递减子序列)
本题求自增子序列,是不能对原数组进行排序的,排完序的数组都是自增子序列了。所以不能使用之前几道题的去重逻辑!
漫随流水
6 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(78.子集)
剩余集合为空的时候,就是叶子节点。那么什么时候剩余集合为空呢?就是startIndex已经大于数组的长度了,就终止了,因为没有元素可取了,代码如下:
漫随流水
6 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(131.分割回文串)
因为:isPalindrome 只是读取字符串,不修改它但最好加上 const:bool isPalindrome(const string &s, ...)
漫随流水
6 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(17.电话号码的字母组合)
定义一个二维数组例如:输入:"23",抽象为树形结构,如图所示:图中可以看出遍历的深度,就是输入"23"的长度,而叶子节点就是我们要收集的结果,输出["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]。
漫随流水
6 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(39.组合总和)
例子:candidates = [2,3,6,7], target = 7..................
漫随流水
6 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(77.组合)
回溯法解决的问题都可以抽象为树形结构(N叉树),用树形结构来理解回溯就容易多了。那么我把组合问题抽象为如下树形结构:
漫随流水
6 个月前
数据结构
·
算法
·
leetcode
·
回溯算法
leetcode回溯算法(216.组合总和Ⅲ)
玄冥剑尊
6 个月前
算法
·
回溯算法
回溯算法深化 II
给你一个整数数组 nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。数组中可能包含重复元素,如 [4,6,7,7] 的结果需去重。