E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
LQB算法训练
代码随想录
算法训练
营第四十二天 | 背包问题
背包问题理论基础:二维文档讲解:代码随想录(programmercarl.com)视频讲解:带你学透0-1背包问题!|关于背包问题,你不清楚的地方,这里都讲了!|动态规划经典问题|数据结构与算法_哔哩哔哩_bilibili先看文档后看视频对于面试的话,其实掌握01背包,和完全背包,就够用了,最多可以再来一个多重背包。几种背包问题的区分:完全背包是01背包稍作变化而来,即:完全背包的物品数量是无限的
Yirschen
·
2024-02-07 09:32
leetcode
代码随想录
算法训练
营第四十四天 | 完全背包、完全背包的遍历顺序
完全背包理论基础文档讲解:代码随想录(programmercarl.com)视频讲解:带你学透完全背包问题!和01背包有什么差别?遍历顺序上有什么讲究?_哔哩哔哩_bilibili完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。每件商品都有无限个!问背包能背的物品最大价值是多少?01背包和完全背包唯一不同就是体现在遍历顺序上。01背包的核心代码for(inti=0;i=weight[i
Yirschen
·
2024-02-07 09:32
leetcode
代码随想录
算法训练
营第四十五/四十六天 | 背包问题
文章目录背包问题题目对题目的想法实现中/后的感想背包问题题目70.爬楼梯322.零钱兑换279.完全平方数139.单词拆分对题目的想法爬楼梯和单词拆分没有什么思路,尤其是单词拆分,甚至想到要不要用KMP算法查询字符串。实现中/后的感想爬楼梯没有意识到是一个排列问题,因为先上n级台阶再上m级台阶(n,m)(n,m)(n,m),和先上m级台阶再上m级台阶(m,n)(m,n)(m,n)并不一样。零钱兑换
dafeizhuyitou
·
2024-02-07 09:32
算法
代码随想录
算法训练
营第四十五天(动态规划篇)|01背包
01背包理论基础学习资料:代码随想录(programmercarl.com)相关链接:题目页面(kamacoder.com)背包题目分类01背包定义有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。解法暴力解法每种物品有两种状态:取或不取,因此可以用回溯法搜索出所有组合,选出价值
Huiwen_Z
·
2024-02-07 09:29
代码随想录训练营
算法
动态规划
python
代码随想录
算法训练
营第三天|203.移除链表元素,707.设计链表,206.反转链表
第三天和第四天都是补卡的,这几天忙着复习周o(╥﹏╥)o,下面开始吧!203.移除链表元素题目链接:203.移除链表元素一开始读错题目,以为是自带一个虚拟头结点的链表(平时学校学的就是“带头结点的链表”表示是有“虚拟头结点”的链表),然后平时学数据结构,用的是浙大版的数据结构,默认语言是c,还没熟悉Java定义链表,一开始还有些陌生,这里复制一下leetcode里默认创建结点的方式吧(说实话,还没
remember_me.
·
2024-02-07 06:27
代码随想录
链表
数据结构
java
算法
@ 代码随想录
算法训练
营第三周(C语言)|Day17(二叉树)
@代码随想录
算法训练
营第三周(C语言)|Day17(二叉树)Day17、二叉树(包含题目110.平衡二叉树257.二叉树的所有路径404.左叶子之和)110.平衡二叉树题目描述给定一个二叉树,判断它是否是高度平衡的二叉树
a name easy to remember
·
2024-02-07 06:41
算法
c语言
数据结构
@ 代码随想录
算法训练
营第6周(C语言)|Day39(动态规划)
@代码随想录
算法训练
营第6周(C语言)|Day39(动态规划)Day39、动态规划(包含题目●62.不同路径●63.不同路径II)62.不同路径题目描述一个机器人位于一个mxn网格的左上角(起始点在下图中标记为
a name easy to remember
·
2024-02-07 06:41
算法
c语言
动态规划
@ 代码随想录
算法训练
营第二周(C语言)|Day7(哈希表)
@代码随想录
算法训练
营第二周(C语言)|Day7(哈希表)Day7、哈希表(包含题目454.四数相加II383.赎金信15.三数之和18.四数之和)454.四数相加II题目描述给定四个包含整数的数组列表
a name easy to remember
·
2024-02-07 06:10
算法
c语言
散列表
@ 代码随想录
算法训练
营第7周(C语言)|Day41(动态规划)
@代码随想录
算法训练
营第7周(C语言)|Day41(动态规划)Day41、动态规划(包含题目●343.整数拆分●96.不同的二叉搜索树)343.整数拆分题目描述给定一个正整数n,将其拆分为至少两个正整数的和
a name easy to remember
·
2024-02-07 06:39
算法
c语言
动态规划
代码随想录
算法训练
营|day27
第七章回溯算法39.组合总和40.组合总和II131.分割回文串代码随想录文章详解总结39.组合总和对数组排序,方便剪枝;剪枝:当前path求和大于target进行下一轮循环数组中元素可以重复取值,所以递归时可以取当前值funccombinationSum(candidates[]int,targetint)[][]int{res:=[][]int{}path:=[]int{}sort.Ints(
果木26
·
2024-02-07 05:09
代码随想录练习
算法
go
代码随想录
算法训练
营|day24
第七章回溯算法77.组合代码随想录文章详解总结77.组合以n=5,k=3为例(1)for循环遍历,递归选择符合要求的值加入path,len(path)==k时,返回statrtIndex保证每次递归取到的值不重复剪枝:in{return}helper(n,k,i+1)path=append(path,i)helper(n,k,i+1)path=path[:len(path)-1]}helper(n
果木26
·
2024-02-07 05:08
代码随想录练习
算法
go
代码随想录
算法训练
营|day25
第七章回溯算法216.组合总和III17.电话号码的字母组合代码随想录文章详解总结216.组合总和III回溯:i宽度约束,sum深度约束funccombinationSum3(kint,nint)[][]int{res:=[][]int{}path:=[]int{}varhelpfunc(startIndex,sum,k,nint)help=func(startIndex,sum,k,nint){
果木26
·
2024-02-07 05:38
代码随想录练习
算法
go
代码随想录
算法训练
营|day28
第七章回溯算法93.复原IP地址78.子集90.子集II代码随想录文章详解93.复原IP地址ip地址有效需要满足:遍历完s,将其分为4段,每段数字有效性:范围在[0,255],且不含前导零为避免重复取值,需要startIndex作为下次递归的初始位置。当遍历结束startIndex==len(s),且ip段数为4len(path)==4加入结果,否则提前回溯。如果当前字符串满足要求,递归调用下一层
果木26
·
2024-02-07 05:04
代码随想录练习
算法
go
代码随想录
算法训练
营DAY13 | 栈与队列 (3)
一、LeetCode239滑动窗口最大值题目链接:239.滑动窗口最大值https://leetcode.cn/problems/sliding-window-maximum/思路:使用单调队列,只保存窗口中可能存在的最大值,从而降低时间复杂度。publicclassMyQueue{Dequequeue=newLinkedListqueue.getLast()){queue.removeLast(
橙南花已开
·
2024-02-07 01:59
代码随想录算法训练营
算法
leetcode
数据结构
代码随想录
算法训练
营DAY14 | 二叉树 (1)
一、二叉树理论基础1.存储方式链式存储:顺序存储:2.二叉树标准定义(Java)publicclassTreeNode{intval;TreeNodeleft;TreeNoderight;TreeNode(){}TreeNode(intval){this.val=val;}TreeNode(intval,TreeNodeleft,TreeNoderight){this.val=val;this.l
橙南花已开
·
2024-02-07 01:23
代码随想录算法训练营
算法
数据结构
代码随想录
算法训练
营第二八天 | 分割 子集
目录复原IP地址子集子集IILeetCode93.复原IP地址LeetCode78.子集LeetCode90.子集II复原IP地址一些字符串的基本操作不会s.insert(i+1,‘.’);s.deleteCharAt(i+1);classSolution{Listresult=newArrayListrestoreIpAddresses(Strings){StringBuildersb=newS
SUBURBIA~
·
2024-02-06 23:42
算法
代码随想录
算法训练
营第二二天| 二叉搜索树的最近公共祖先、二叉搜索树中的插入操作、删除二叉搜索树中的节点
目录二叉搜索树的最近公共祖先二叉搜索树中的插入操作删除二叉搜索树中的节点普通二叉树的删除方式LeetCode235.二叉搜索树的最近公共祖先LeetCode701.二叉搜索树中的插入操作LeetCode450.删除二叉搜索树中的节点二叉搜索树的最近公共祖先给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个
SUBURBIA~
·
2024-02-06 23:11
算法
代码随想录
算法训练
营第二七天 | 回溯 组合 分割
目录组合总和组合总和II分割回文串LeetCode39.组合总和LeetCode40.组合总和IILeetCode131.分割回文串组合总和给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。你可以按任意顺序返回这些组合。candidates中的同一个数字可以无限制重复被选取。如果至
SUBURBIA~
·
2024-02-06 23:11
算法
windows
linux
代码随想录
算法训练
营第九天 | KMP
目录KMP前缀表最长公共前后缀前缀表与next数组时间复杂度分析构造next数组28.实现strStr题目的整体代码如下:LeetCode28.实现strStr()LeetCode459.重复的子字符串KMP当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。前缀表前缀表是用来回退的,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新
SUBURBIA~
·
2024-02-06 23:41
算法
代码随想录
算法训练
营第十天 | 栈和队列
目录java中的栈java中的队列LeetCode232.用栈实现队列LeetCode225.用队列实现栈java中的栈栈是一种数据结构先进后出java中栈可以用Stack类表示。也可以用Deque(双端队列)和LinkedList类表示。压栈(push)、出栈(pop)、查看栈顶元素(peek)和获取栈的大小(size)。Stack类底层是数组。压栈时,元素会被加入数组的末尾;出栈时,数组末尾的
SUBURBIA~
·
2024-02-06 23:41
算法
代码随想录
算法训练
营第二十天 | 最大二叉树、合并二叉树、二叉搜索树中的搜索、验证二叉搜索树
目录最大二叉树合并二叉树二叉搜索树中的搜索验证二叉搜索树LeetCode654.最大二叉树LeetCode617.合并二叉树LeetCode700.二叉搜索树中的搜索LeetCode98.验证二叉搜索树最大二叉树给定一个不重复的整数数组nums。最大二叉树可以用下面的算法从nums递归地构建:创建一个根节点,其值为nums中的最大值。递归地在最大值左边的子数组前缀上构建左子树。递归地在最大值右边的
SUBURBIA~
·
2024-02-06 23:41
算法
代码随想录
算法训练
营第二四天 | 回溯 组合
目录回溯模板组合LeetCode77.组合回溯模板voidbacktracking(参数){if(终止条件){存放结果;return;}for(选择:本层集合中元素(树中节点孩子的数量就是集合的大小)){处理节点;backtracking(路径,选择列表);//递归回溯,撤销处理结果}}组合给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。classSolu
SUBURBIA~
·
2024-02-06 23:41
算法
代码随想录
算法训练
营第三天 | 链表
目录链表节点的定义移除链表元素设计链表翻转链表今日总结今日链表,有点意思LeetCode203.移除链表元素LeetCode707.设计链表LeetCode206.反转链表链表节点的定义包含:节点上存储的元素、下一个节点对象的地址(双链表还包含上一个节点对象的地址)publicclassListNode{intval;ListNodenext;ListNode(){}ListNode(intval
SUBURBIA~
·
2024-02-06 23:11
算法
链表
数据结构
java
leetcode
代码随想录
算法训练
营第二五天 | 回溯 组合
目录组合总和电话号码的字母组合LeetCode216.组合总和IIILeetCode17.电话号码的字母组合组合总和找出所有相加之和为n的k个数的组合,且满足下列条件:只使用数字1到9每个数字最多使用一次返回所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。classSolution{List>result=newArrayListlist=newArrayList>
SUBURBIA~
·
2024-02-06 23:40
算法
代码随想录
算法训练
营day 28|第七章 回溯算法part04
93.复原IP地址本期本来是很有难度的,不过大家做完分割回文串之后,本题就容易很多了题目链接/文章讲解:代码随想录视频讲解:回溯算法如何分割字符串并判断是合法IP?|LeetCode:93.复原IP地址_哔哩哔哩_bilibili这道题我和文章的思路一样的,都是没有另外开辟空间来存储路径,直接看作给一段数字插入三个点,保证每个区段的数字都合法,一旦满足已经插入了三个点,那就直接判断剩下的数字是否满
.wsy.
·
2024-02-06 22:14
代码随想录训练营
算法
代码随想录
算法训练
营day 26|第七章 回溯算法part03
39.组合总和本题是集合里元素可以用无数次,那么和组合问题的差别其实仅在于startIndex上的控制题目链接/文章讲解:代码随想录视频讲解:带你学透回溯算法-组合总和(对应「leetcode」力扣题目:39.组合总和)|回溯法精讲!_哔哩哔哩_bilibili这道题主要的特点是已经选过的数可以重复选取,所以每次选取的数的开始下标就直接是当前下标,这样设置每次选取数字只能选取包括本身在内的剩下的数
.wsy.
·
2024-02-06 22:44
代码随想录训练营
算法
@ 代码随想录
算法训练
营第6周(C语言)|Day38(动态规划)
@代码随想录
算法训练
营第6周(C语言)|Day38(动态规划)Day38、动态规划(包含题目●509.斐波那契数●70.爬楼梯●746.使用最小花费爬楼梯)509.斐波那契数题目描述斐波那契数,通常用F
a name easy to remember
·
2024-02-06 18:41
算法
c语言
动态规划
代码随想录
算法训练
营第24天(回溯2)| 216.组合总和III & 17.电话号码的字母组合
回溯的总结:树的深度(递归的层数)树的深度就是要取的数据的个数,通过path的size判断是否收集到足够的数据树的宽度(循环的范围)输的宽度就是搜索的范围,就是for循环的循环范围,这个范围可以做剪枝操作递归和回溯就是在这颗树上做搜索,深度优先回溯的函数退出条件:收集到足够的数据,也就是到达了指定的深度递归每一个递归就是给一个范围获取一个数字,递归的获取数字,到了指定的数量(深度)结束递归循环进入
he979731102
·
2024-02-06 17:12
算法
c++
leetcode
数据结构
代码随想录
算法训练
营day48 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍III
代码随想录
算法训练
营day48|198.打家劫舍,213.打家劫舍II,337.打家劫舍III198.打家劫舍解法一:动态规划213.打家劫舍II解法一:分别掐头和去尾,动态规划337.打家劫舍III解法一
小鲨鱼冲冲冲
·
2024-02-06 11:27
代码随想录训练营
算法
leetcode
动态规划
代码随想录
算法训练
营第三十八天| 509. 斐波那契数、 70. 爬楼梯、746. 使用最小花费爬楼梯
动态规划五部曲:dp数组的含义以及dp[i]的含义。递推公式dp数组如何初始化遍历顺序(比如背包问题,两层for循环,每层for循环对应的含义,ex:第一层for代表背包,第二层for代表物品)打印dp数组(Debug)Leetcode-509以标准的五部曲去做,我们要求的是第n个位置的斐波那契数值,为了方便,我们定义一个长度为n+1的dp数组,下标刚好能到n。deffib(self,n:int)
DeepMaster
·
2024-02-06 07:29
算法
动态规划
python
大数据开发之机器学习总结(一)
一个是基于已有数据使用
算法训练
出模型,基于模型预测和分析未来的新数据。前者就是很多时候的大数据分析场景,后者则涉及到算法模型,机器学习的范畴。
闻香识代码
·
2024-02-05 21:41
大数据
机器学习
用户画像
机器学习
大数据
算法
代码随想录
算法训练
营Day45|70. 爬楼梯(进阶版)、322. 零钱兑换、279.完全平方数
目录70.爬楼梯(进阶版)前言思路算法实现322.零钱兑换前言思路279.完全平方数前言思路算法实现总结70.爬楼梯(进阶版)题目链接文章链接前言本题是70.爬楼梯问题的进阶版,每次可以跳跃的台阶数之多为m阶,可以用完全背包的方法解决。思路利用动规五部曲进行分析:1.确定dp数组及其下标含义:dp[j]:爬上第j阶楼梯有dp[j]种不同的方法。2.确定递推公式:本题依旧是求装满背包有几种方法类型的
张金卓2023
·
2024-02-05 20:15
算法
代码随想录
算法训练
营Day48|198.打家劫舍、213.打家劫舍II、337.打家劫舍 III
198.打家劫舍题目链接文章链接前言分析题干可知,当前房屋偷与不偷取决于前一个房屋和前两个房屋是否被偷。因此当前状态和前面状态会有一种依赖关系,这种依赖关系就是动规的递推公式。思路利用动规五部曲进行分析:1.确定dp数组及其下标的含义:dp[i]:考虑下标i以内的房屋,最多可以偷窃的金额为dp[i]。2.确定递推公式:决定dp[i]的因素就是第i房间偷还是不偷。如果偷第i间房间,那么dp[i]=d
张金卓2023
·
2024-02-05 20:15
算法
动态规划
代码随想录
算法训练
营Day44|完全背包理论基础、518.零钱兑换II、377. 组合总和 Ⅳ
目录完全背包理论基础完全背包问题算法实现518.零钱兑换II前言思路377.组合总和Ⅳ前言思路算法实现总结完全背包理论基础题目链接文章链接完全背包问题有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。这是一道纯完全背包问题,完全背包与0-1背包的区别在于
张金卓2023
·
2024-02-05 20:45
算法
代码随想录
算法训练
营Day46|139.单词拆分、多重背包理论基础、背包问题总结
目录139.单词拆分方法一:回溯法算法实现方法二:背包问题算法实现多重背包理论基础思路算法实现背包问题总结前言背包递推公式遍历顺序0-1背包完全背包139.单词拆分题目链接文章链接方法一:回溯法在回溯专题中分割回文串与本题有点类似,分割回文串是枚举分割后的所有子串,判断是否回文;本题是枚举分割所有字符串,判断是否在字典里出现过。因此也可以使用回溯法进行实现。算法实现classSolution{pr
张金卓2023
·
2024-02-05 20:41
算法
算法训练
营day20,二叉树9
typeTreeNodestruct{ValintLeft*TreeNodeRight*TreeNode}//669.修剪二叉搜索树//本题与450.删除二叉搜索树中的节点相似,不同之处在于本题删除不止一个节点,450不需要遍历全部二叉树,但本题需要全部遍历,而且要随时调整二叉树结构functrimBST(root*TreeNode,lowint,highint)*TreeNode{ifroot=
weixin_50253985
·
2024-02-05 17:48
算法
数据结构
算法训练
营day17(补),二叉树6-1
typeTreeNodestruct{ValintLeft*TreeNodeRight*TreeNode}654.最大二叉树funcconstructMaximumBinaryTree(nums[]int)*TreeNode{root:=&TreeNode{}iflen(nums)==1{root.Val=nums[0]returnroot}//寻找最大值和索引index:=0max:=0fori
weixin_50253985
·
2024-02-05 17:18
算法
数据结构
算法训练
营day6(补),哈希表2
昨天三数之和未做出来,今天补发四数相加IIfuncfourSumCount(nums1[]int,nums2[]int,nums3[]int,nums4[]int)int{map1:=make(map[int]int)count:=0//遍历大nums1和大nums1数组,统计两个数组元素之和,和出现的次数,放到map中for_,v:=rangenums1{for_,v1:=rangenums2{
weixin_50253985
·
2024-02-05 17:17
算法
散列表
数据结构
算法训练
营第二天数组part02
977.有序数组的平方//双指针解法因为是有序数组,负数平方有可能成为最大值,因此设置左右指针,让左右指针向中间移动,设置一个新数组,从最后记录,每次只求最大的值funcsortedSquares(nums[]int)[]int{n:=len(nums)left:=0right:=n-1k:=n-1array:=make([]int,n)forleft=target{sumLength:=j-i+
weixin_50253985
·
2024-02-05 17:47
算法
数据结构
go
算法训练
营day21,回溯1
77.组合funccombine(nint,kint)[][]int{//存储全部集合result:=make([][]int,0)//存储单次集合path:=make([]int,0)varbacktracefunc(nint,kint,startIndexint)backtrace=func(nint,kint,startIndexint){//当单次集合大小和k值相等,找到本次集合,但pat
weixin_50253985
·
2024-02-05 17:43
算法
数据结构
开发语言
代码随想录
算法训练
营第六天● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和 ● 总结
454、四数相加.一开始用了两个unordered_map,其实一个就够了。383、unordered_map实现:classSolution{public:boolcanConstruct(stringransomNote,stringmagazine){unordered_mapm;for(inti=0;i::iteratorit=m.begin();it!=m.end();++it){if(
孤馆深沉
·
2024-02-05 17:10
算法
代码随想录
算法训练
营第七天● 344.反转字符串● 541. 反转字符串II● 剑指Offer 05.替换空格● 151.翻转字符串里的单词● 剑指Offer58-II.左旋转字符串
344.反转字符串。就头和尾相对移动交换就行。交换用swap()函数,也可以用中间量自己写。一个函数实现反转就是:voidreverse(string&s,intf,inte){if(f=s.size()||e>=s.size()){return;}for(inti=f;i=s.size()||e>=s.size()){return;}for(inti=f;i=0&&s[c]=='')c--;s.
孤馆深沉
·
2024-02-05 17:10
c++
算法
代码随想录
算法训练
营第十一天:20. 有效的括号● 1047. 删除字符串中的所有相邻重复项● 150. 逆波兰表达式求值
20.有效的括号括号匹配三种错误情况:左右括号类型不匹配;右括号比左括号多,右括号会遇到空栈;左括号比右括号多,多的左括号会留在栈内。classSolution{public:stackst;boolisValid(strings){for(inti=0;i='0'&&tokens[i][0]<='9')||(tokens[i][0]=='-')){ss.push(stoll(tokens[i])
孤馆深沉
·
2024-02-05 17:10
算法
代码随想录
算法训练
营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结
状态:977:写了半天55,穷举法超时了,看了视频后自己写的代码是:classSolution{public:vectorsortedSquares(vector&nums){vectorv;v.resize(nums.size());intleft=0,right=nums.size()-1,k=nums.size()-1,tmp;while(leftabs(nums[right])){tmp=
孤馆深沉
·
2024-02-05 17:40
算法
leetcode
数据结构
代码随想录
算法训练
营第三天| ● 链表理论基础 ● 203.移除链表元素 ● 707.设计链表 ● 206.反转链表
状态:1、203自己用的不加头结点的办法,讨论了删除head的特殊情况。注意C++是new和delete配套,C才是malloc和free,别记混。/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):va
孤馆深沉
·
2024-02-05 17:40
算法
链表
数据结构
代码随想录
算法训练
营day 25|第七章 回溯算法part02
216.组合总和III如果把组合问题理解了,本题就容易一些了。题目链接/文章讲解:代码随想录视频讲解:和组合问题有啥区别?回溯算法如何剪枝?|LeetCode:216.组合总和III_哔哩哔哩_bilibili这道题其实和组合总和那道题很像的,主要是要注意:1.除了收获结果的时候要return,还要注意除了满足合法条件外一旦k或n小于等于0(我设置的是每次递归函数传入的参数都是减去push进去的值
.wsy.
·
2024-02-05 16:19
代码随想录训练营
算法
代码随想录
算法训练
营day 24|第七章 回溯算法part01
理论基础其实在讲解二叉树的时候,就给大家介绍过回溯,这次正式开启回溯算法,大家可以先看视频,对回溯算法有一个整体的了解。题目链接/文章讲解:代码随想录视频讲解:带你学透回溯算法(理论篇)|回溯法精讲!_哔哩哔哩_bilibili回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯是递归的副产品,只要有递归就会有回溯。回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可
.wsy.
·
2024-02-05 16:47
代码随想录训练营
算法
算法训练
营day22, 回溯2
216.组合总和IIIfunccombinationSum3(kint,nint)[][]int{//存储全部集合result:=make([][]int,0)//存储单次集合path:=make([]int,0)varbacktracefunc(kint,nint,sumint,startIndexint)backtrace=func(kint,nint,sumint,startIndexint
weixin_50253985
·
2024-02-05 10:58
算法
开发语言
go
代码随想录
算法训练
营day20 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
654.最大二叉树比之前利用中序和后序构建二叉树简单一些classSolution:defconstructMaximumBinaryTree(self,nums:List[int])->Optional[TreeNode]:ifnotnums:returnNonemax_val=max(nums)max_index=nums.index(max_val)root=TreeNode(max_val
sunflowers11
·
2024-02-05 10:28
代码随想录
算法
数据结构
代码随想录
算法训练
营第三天 | 链表理论基础 、Leetcode 203 移除链表元素、Leetcode 707 设计链表、Leetcode 206 反转链表
目录链表理论基础Leetcode203移除链表元素Leetcode707设计链表Leetcode206反转链表链表理论基础文章链接:代码随想录_链表理论基础定义:链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。链表的入口节点称为链表的头结点也就是head。类型:单链表双链表:有两
Chatoyant
·
2024-02-05 09:59
代码随想录
算法
链表
leetcode
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他