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算法训练
代码随想录
算法训练
营day57|647.回文子串,516.最长回文子序列,动态规划总结篇
647.回文子串力扣思路:1.dp数组及其下标的含义:布尔类型的dp[i][j]:表示区间范围[i,j](左闭右闭)的子串是否是回文子串,如果是,dp[i][j]为true,否则为false。2.递推公式:(1)s(i)!=s(j),那么dp[i][j]=false;(2)s(i)==s(j),如果i与j相等,那么一定是回文子串,dp[i][j]=true;如果i与j相差为1,那么也是回文子串,d
扭一扭.
·
2023-11-17 08:07
算法
动态规划
c++
代码随想录
算法训练
营Day 52 || 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
300.最长递增子序列力扣题目链接(opensnewwindow)给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是[2,3,7,101],因
在下小zhan
·
2023-11-16 23:09
leetcode
leetcode
代码随想录
算法训练
营Day 53 || 1143.最长公共子序列、1035.不相交的线、53. 最大子序和
1143.最长公共子序列力扣题目链接给定两个字符串text1和text2,返回这两个字符串的最长公共子序列的长度。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace"是"abcde"的子序列,但"aec"不是"abcde"的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这
在下小zhan
·
2023-11-16 23:00
leetcode
leetcode
代码随想录
算法训练
营第一天 | 704. 二分查找、27. 移除元素
文章目录LeetCode704.二分查找题目链接:[LeetCode704.二分查找](https://leetcode.cn/problems/binary-search/)遇到的问题代码实现总结LeetCode27.移除元素题目链接:[LeetCode27.移除元素](https://leetcode.cn/problems/remove-element/)遇到的问题代码实现总结今日收获Lee
方可申别翘二郎腿
·
2023-11-16 02:58
代码随想录算法训练营
算法
leetcode
代码随想录
算法训练
营第6天|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和 ● 总结
454.四数相加II中等给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0nums1[0]+nums2[0]+nums3[0]+nums4[1]=1+(-2)+(-1)+2=0(1,1,0,0)->nums1[1]+nums2[1]+nums3[0]+nums4[0]=2+(-1)+(-1)+0=0示例2:输入:nums
嗝~~~~
·
2023-11-15 06:50
代码随想录
算法
leetcode
数据结构
算法训练
第七周
一、最小栈本题要求我们实现一个最小栈数据结构,要求它可以实现栈的基本功能,并且还能使用常数时间复杂度来获取栈中的最小值。1.辅助栈我们可以在普通栈的基础上再添加一个维护最小值的辅助栈来实现这个数据结构,我们先创建一个普通的栈来完成栈的基本操作,再创建一个辅助栈,这个辅助栈中用来存放最小值,在我们往栈中存值的时候,如果存入的值比最小栈栈顶的元素还要小,那就把这个值在普通栈和辅助栈中都存入一个,如果存
啊哈哈~~
·
2023-11-14 22:04
算法
java
开发语言
算法训练
第六周
二、二叉树的中序遍历本题给我们了一个二叉树,要求我们以中序遍历的方式输出它的值。1.递归法使用递归的方式来模拟遍历二叉树的过程,按照左头右的顺序进行,递归终止条件为遇到空节点,具体代码如下:/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*
啊哈哈~~
·
2023-11-14 22:04
算法
算法训练
第七周
二、训练计划II本题给我们提供了一个单链表的头节点,并给出了一个整数cnt,要求我们找出并返回这个单链表的倒数第cnt个节点。1.双指针我们可以创建快慢指针来解决这个问题,首先让快指针先走cnt步,然后再让快慢指针同步遍历链表,当快指针指向null时,慢指针指向的节点就是我们要找的节点,具体代码如下:/***Definitionforsingly-linkedlist.*publicclassLi
啊哈哈~~
·
2023-11-14 21:31
算法
yolov8训练参数讲解
背景:最近使用yolo8
算法训练
了一个视频中手势识别的项目,打算重点深入的研究一下yolo8算法。
图灵追慕者
·
2023-11-14 12:34
YOLO
人工智能
代码随想录
算法训练
营第一天| 704. 二分查找、27. 移除元素
代码随想录
算法训练
营第一天|704.二分查找、27.移除元素704.二分查找27.移除元素704.二分查找链接这道题之前做过,再次做的时候还是犯了不少错误二分查找算法的时间复杂度可以用O(log2n)表示
MXG_ZZU
·
2023-11-14 10:42
代码随想录算法刷题训练营
leetcode
算法
数据结构
【代码随想录】
算法训练
营 第二十天 第六章 二叉树 Part 6
654.最大二叉树题目给定一个不重复的整数数组nums。最大二叉树可以用下面的算法从nums递归地构建:创建一个根节点,其值为nums中的最大值。递归地在最大值左边的子数组前缀上构建左子树。递归地在最大值右边的子数组后缀上构建右子树。返回nums构建的最大二叉树。其实就是根据数组来构建二叉树,选定其中最大的数作为根节点,数组中左边的放在左子树,右边的放在右子树,然后接下来就是递归做下去,直到完成二
令夏二十三
·
2023-11-14 10:38
#
代码随想录
算法
数据结构
【代码随想录】
算法训练
营 第十八天 第六章 二叉树 Part 5
513.找树左下角的值题目给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。思路找左下角节点,其实是找最底层的最左边那个节点,我们可以从上到下递归遍历,每次发现层数增加了,就更新要返回的节点的值,否则就往下继续递归。代码classSolution{public:intmaxDepth=INT_MIN;intresult;voidtraversal(T
令夏二十三
·
2023-11-14 10:07
#
代码随想录
算法
数据结构
算法训练
营day14|二叉树层序遍历10题,226.翻转二叉树,101.对称二叉树
1.知识点二叉树的层序遍历模板比较固定递归模板packagedaimasuixiangshuati.day14_erchashu;importjava.util.ArrayList;importjava.util.List;/***@AuthorLeiGe*@Date2023/11/3*@Descriptiontodo*/publicclassErChaShuDeCengXuBianLi_MoBa
天上小雷
·
2023-11-14 05:37
算法
数据结构
算法训练
营DAY53|392.判断子序列、115.不同的子序列
392.判断子序列-力扣(LeetCode)https://leetcode.cn/problems/is-subsequence/判断子序列这道题目,和上一期的题解法几乎完全相同,只是递推公式有一点差别,但是要是完全用之前的代码也是可行的。dp数组的含义:dp【i】【j】代表以i-1和j-1为结尾的相同子序列的长度。之前我们讲过,同时操作两个数组的时候,通常都是设置二维数组。设置为i-1和j-1
让你明白算法!
·
2023-11-14 02:13
训练营
leetcode
算法
职场和发展
动态规划
代码随想录
算法训练
营|第五十天
买卖股票的最佳时机含冷冻期309.买卖股票的最佳时机含冷冻期-力扣(LeetCode)publicclassSolution{publicintMaxProfit(int[]prices){if(prices.Length==0)return0;int[,]dp=newint[prices.Length+1,4];dp[0,0]=-prices[0];for(inti=1;i
evil_overall
·
2023-11-13 21:47
代码随想录
算法
leetcode
代码随想录
算法训练
营|动态规划三十八天~四十三天
动态规划五部曲:1、确定dp数组以及下标的含义2、确定递推公式3、dp数组如何初始化4、确定遍历顺序5、举例推导dp数组三十八天斐波那契数509.斐波那契数-力扣(LeetCode)publicclassSolution{publicintMonotoneIncreasingDigits(intn){strings=n.ToString();intsize=s.Length;for(inti=s.
evil_overall
·
2023-11-13 21:17
算法
代码随想录
算法训练
营|四十五天~四十九天
四十五天爬楼梯(完全背包应用)publicclassSolution{publicintClimbStairs(intn){int[]dp=newint[n+1];dp[0]=1;for(inti=1;i=0)dp[i]+=dp[i-j];}}returndp[n];}}零钱兑换322.零钱兑换-力扣(LeetCode)如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外
evil_overall
·
2023-11-13 21:17
代码随想录
算法
leetcode
代码随想录
算法训练
营第二天|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
977.有序数组的平方977.有序数组的平方-力扣(LeetCode)思路:直接用双指针法解决,把平方后的元素再替换进数组中,之后利用数组sort排序再输出数组C#代码:publicclassSolution{publicint[]SortedSquares(int[]nums){intm=0;for(intk=0;k=target,再对快慢指针包括的数组的长度比较,比较后减去慢指针i所属的元素,
evil_overall
·
2023-11-13 21:46
代码随想录
算法
代码随想录
算法训练
营第三天|203.移除链表元素、707.设计链表、206.反转链表
203.移除链表元素203.移除链表元素-力扣(LeetCode)思路:1、创建虚拟头dummyhead,并创建temp指向dummyhead。2、进入循环判断temp.next是否为空,为空表示链表到末尾。接下来判断temp.next.val==val,是则跳过temp.next所指的元素,指向temp.next.next的元素;不是则temp指向temp.next的元素。(图片展示过程)3、循
evil_overall
·
2023-11-13 21:46
代码随想录
算法
代码随想录
算法训练
营第四天|24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07. 链表相交、142.环形链表II
24.两两交换链表中的节点24.两两交换链表中的节点-力扣(LeetCode)思路:递归:由于只要两两交换,设原链表的头结点为head,第二个节点为nexthead(head.next)。所以只要把nexthead调用递归直到递归完成,再head.next指向head,最后返回nexthead(此时为头节点)就实现两两互换。迭代:直接画图比文字好理解多。每次交换最后记得把temp指向temp.ne
evil_overall
·
2023-11-13 21:46
代码随想录
算法
代码随想录
算法训练
营第一天| 704.二分查找、27.移除元素、34、35。
704.二分查找704.二分查找-力扣(LeetCode)思路:取数组的长度,分别赋值左指针和右指针。在while循环直到lefttarget){right=middle;}elseif(nums[middle]target){right=middle-1;}elseif(nums[middle]left;i--){if(nums[right]==target){break;}elseright-
evil_overall
·
2023-11-13 21:16
代码随想录
算法
代码随想录
算法训练
营|五十一天
最长递增子序列300.最长递增子序列-力扣(LeetCode)递推公式:有点像双指针的操作,例如{2,5,6,4,3}(写不出来,画图)publicclassSolution{publicintLengthOfLIS(int[]nums){if(nums.Lengthnums[j])dp[i]=Math.Max(dp[i],dp[j]+1);}result=Math.Max(result,dp[i
evil_overall
·
2023-11-13 21:43
代码随想录
算法
leetcode
代码随想录
算法训练
营第二十一天|530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先
目录LeeCode530.二叉搜索树的最小绝对差LeeCode501.二叉搜索树中的众数LeeCode236.二叉树的最近公共祖先LeeCode530.二叉搜索树的最小绝对差530.二叉搜索树的最小绝对差-力扣(LeetCode)思路1:中序遍历BST得到有序数组,在数组上求两个数的最小差值。classSolution{private:vectorvec;voidtraversal(TreeNod
禹泽.
·
2023-11-13 19:47
LeeCode刷题
算法
leetcode
数据结构
c++
代码随想录
算法训练
营第二十天|530.二叉搜索树的最小绝对差|501.二叉搜索树中的众数|236. 二叉树的最近公共祖先
一、530.二叉搜索树的最小绝对差思想:1.由于是二叉搜索树,所以我们选择中序递归。2.由于要求最小绝对差,所以可以利用双指针。二、501.二叉搜索树中的众数思想:依旧选择递归,虽然遍历可以但我们这里不用,由于是二叉搜索树,我们依旧选择中序递归,主要的差异是使用count,和max_count来控制我们的众数,这里的思想还是很牛逼的,即当pre和cur的值相等count+1,如果不等count依旧
igang of rebirth
·
2023-11-13 19:16
算法
数据结构
代码随想录
算法训练
营二十一天 | 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先
代码随想录
算法训练
营二十一天|530.二叉搜索树的最小绝对差501.二叉搜索树中的众数236.二叉树的最近公共祖先530.二叉搜索树的最小绝对差/***Definitionforabinarytreenode
酷酷的贝吉塔
·
2023-11-13 19:16
算法
leetcode
java
代码随想录
算法训练
营第二十一天| 530 二叉搜索树的最小绝对差 501 二叉搜索树中的众数 236 二叉树的最近公共祖先
代码随想录
算法训练
营第二十一天|530二叉搜索树的最小绝对差501二叉搜索树中的众数236二叉树的最近公共祖先LeetCode530二叉搜索树的最小绝对差题目链接:530.二叉搜索树的最小绝对差思路:二叉搜索树
Hulmos626
·
2023-11-13 19:46
代码随想录每日打卡
算法
leetcode
数据结构
代码随想录
算法训练
营第十七天|110 平衡二叉树 257 二叉树的所有路径 404 左子叶之和
目录110平衡二叉树递归迭代257二叉树的所有路径递归迭代404左子叶之和递归迭代层序遍历迭代法110平衡二叉树求深度:前序遍历求高度:后序遍历递归classSolution{publicbooleanisBalanced(TreeNoderoot){if(traversal(root)==-1)returnfalse;returntrue;}//后序遍历求高度privateinttraversa
魔法恐龙: )
·
2023-11-13 19:15
代码随想录算法训练营
算法
代码随想录
算法训练
营第二十天|654 最大二叉树 617 合并二叉树 700 二叉搜索树中的搜索 98 验证二叉搜索树
654最大二叉树classSolution{publicTreeNodeconstructMaximumBinaryTree(int[]nums){returnbuildHelper(nums,0,nums.length);}privateTreeNodebuildHelper(int[]nums,intstart,intend){if(end==start)returnnull;intmid=s
魔法恐龙: )
·
2023-11-13 19:15
代码随想录算法训练营
算法
代码随想录
算法训练
营第21天|530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差力扣题目链接思路设置一个pre指针记录前一个结点代码1.递归classSolution{public:intmin=INT_MAX;TreeNode*pre=NULL;voidinorder(TreeNode*root){if(root==NULL)return;inorder(root->left);if(pre!=NULL&&root->val-pre->valv
CZ-0
·
2023-11-13 19:15
代码随想录刷题
算法
leetcode
数据结构
代码随想录
算法训练
营第21天 | 530. 二叉搜索树的最小绝对差 501. 二叉搜索树中的众数 236. 二叉树的最近公共祖先
一、Leetcode530.二叉搜索树的最小绝对差soeasy,justtakeadvantageoftheBSTproperty.二、Leetcode501.二叉搜索树中的众数asthesameasthelastquestion.三、Leetcode236.二叉树的最近公共祖先backtrackmethod.Justusepostordertraversalmethod.
虎年喵飞飞
·
2023-11-13 19:15
刷题
leetcode
算法
职场和发展
代码随想录
算法训练
营第二十一天 | 530.二叉搜索树的最小绝对差|501.二叉搜索树中的众数| 236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intval){this.val=val;}*TreeNode(intval,TreeNodeleft,TreeNoderight){*thi
音箱蟀侠二号
·
2023-11-13 19:15
算法
java
开发语言
代码随想录
算法训练
营第十八天|513 找树左下角的值 112 路径总和 113 路径总和|| 106 从中序和后序遍历序列构造二叉树
目录513找树左下角的值迭代递归112路径总和迭代递归113路径总和II106从中序与后序遍历序列构造二叉树105从前序与中序遍历序列构造二叉树513找树左下角的值迭代classSolution{publicintfindBottomLeftValue(TreeNoderoot){intres=0;Dequest=newLinkedListst=newLinkedListdepth){depth=
魔法恐龙: )
·
2023-11-13 19:45
代码随想录算法训练营
算法
代码随想录
算法训练
营第十天| 232 用栈实现队列 225 用队列实现栈
目录232用栈实现队列思路分析225用队列实现栈用两个queue实现方法一方法二用一个queue实现方法一方法二用两个deque实现方法一用一个deque实现方法一232用栈实现队列思路分析栈的特性:先进后出队列的特性:先进先出创建两个栈stackIn与stackOut。push操作:将元素添加到stackIn中。pop操作:判断stackOut中是否有值,若有则输出stackOut中的值,若无则
魔法恐龙: )
·
2023-11-13 19:14
代码随想录算法训练营
算法
代码随想录
算法训练
营第十一天| 20 有效的括号 1047. 删除字符串中的所有相邻重复项 150 逆波兰表达式求值
目录20有效的括号思路分析1047.删除字符串中的所有相邻重复项方法一方法二方法三150逆波兰表达式求值思路分析20有效的括号思路分析创建一个栈stack,遍历字符串s。如果字符为左括号则将右括号入栈。如果字符为右括号,但栈为空,说明没有与之配对的左括号,则该字符串无效;如果字符为右括号但与栈顶元素不一致,则该字符串无效。如果字符与栈顶元素一致,则栈顶元素出栈。遍历结束后查看stack是否为空,如
魔法恐龙: )
·
2023-11-13 19:14
代码随想录算法训练营
算法
代码随想录
算法训练
营第十五天| 层序遍历 226 翻转二叉树 101 对称二叉树
目录层序遍历102二叉树的层序遍历递归迭代107二叉树的层序遍历||递归迭代199二叉树的右视图637二叉树的层平均值429N叉树的层序遍历515在每个树行中寻找最大值116填充每个节点的下一个右侧节点指针117填充每个节点的下一个右侧节点||104二叉树的最大深度111二叉树的最小深度226翻转二叉树递归迭代101对称二叉树递归迭代层序遍历102二叉树的层序遍历递归classSolution{L
魔法恐龙: )
·
2023-11-13 19:14
代码随想录算法训练营
算法
代码随想录
算法训练
营第21天|530二叉搜索树的最小绝对值差、501二叉搜索树中的众数、236二叉树的最近公共祖先
530二叉搜索树的最小绝对值差思路:二叉搜索树中序遍历有序,可以直接在中序遍历结果中寻找最小绝对值差,最小的绝对值差肯定是出现在两个相邻值之间501二叉搜索树中的众数思路:直接在树上搜索,设置一个pre指针和一个cur指针。按照中序遍历,如果pre值等于cur值cnt就可加1,如果不等于cnt重置为1。这样就可实现不适用额外空间解题236二叉树的最近公共祖先思路:找到两节点后返回,当一个节点中第一
歪瓜不是挂
·
2023-11-13 19:44
c++
数据结构
代码随想录
算法训练
营第一天 |27 移除元素 704 二分查找
目录27移除元素思路分析704二分查找思路分析27移除元素思路分析不难想到暴力方法,通过新开辟数组在循环中进行判断,如果不为val值就加入新数组。时间复杂度O(n),空间复杂度O(n)。由于题目规定必须仅使用O(1)额外空间并原地输入修改数组,我们可以通过快慢指针法进行优化,快指针对整个nums数组进行遍历,慢指针记录满足条件不等于val的数字,最后当快指针完成遍历后返回慢指针。classSolu
魔法恐龙: )
·
2023-11-13 19:44
代码随想录算法训练营
算法
代码随想录
算法训练
营第二十一天 | 530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236. 二叉树的最近公共祖先
目录530.二叉搜索树的最小绝对差思路与代码实现501.二叉搜索树中的众数思路与代码实现236.二叉树的最近公共祖先思路与代码实现530.二叉搜索树的最小绝对差题目链接:530.二叉搜索树的最小绝对差思路与代码实现本来看成了二叉树,没啥思路;但发现是二叉搜索树,二叉搜索树中,与某结点绝对差最小的是左子树最右结点或右子树最左结点,我的思路是每次求出该结点左子树的最右值与右子树的最左值,与最小绝对差进
Jamie super Cool
·
2023-11-13 19:43
算法
数据结构
leetcode
c++
代码随想录
算法训练
营第二十一天 | 530. 二叉搜索树的最小绝对差,501. 二叉搜索树中的众数,236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差需要领悟一下二叉树遍历上双指针操作,优先掌握递归题目链接/文章讲解:代码随想录视频讲解:二叉搜索树中,需要掌握如何双指针遍历!|LeetCode:530.二叉搜索树的最小绝对差_哔哩哔哩_bilibili重点:1.中序遍历二叉搜索树为单调递增数组。单调递增就说明了最小的差值肯定出现在相邻的数值上2.双指针。全局的指针变量不变,递归的指针变量被回溯到了上一个思路:递归法
Tri3
·
2023-11-13 19:13
算法
代码随想录
算法训练
营第二十天|530. 二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236. 二叉树的最近公共祖先
LeetCode530.二叉搜索树的最小绝对差题目链接:530.二叉搜索树的最小绝对差-力扣(LeetCode)思路:一开始我以为两个点要有父子关系,也就是相连,所以做错了。正确的做法是初始化一个res来存最小的差值,然后递归来计算。代码:#python写错了的版本#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=
别看了真C不了一点
·
2023-11-13 19:13
算法
数据结构
代码随想录
算法训练
营第21天| 530.二叉搜索树的最小绝对差 、501.二叉搜索树中的众数 、236. 二叉树的最近公共祖先
代码随想录
算法训练
营第21天|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236.二叉树的最近公共祖先530.二叉搜索树的最小绝对差第一个想法是,中序遍历得到数组,然后再依次相减。
actwed
·
2023-11-13 19:43
日常小题
算法
数据结构
leetcode
c++
代码随想录
算法训练
营第二十一天| 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差题目链接思路1:要求二叉手术的最小绝对差,根据二叉搜索树的结构。可以直接中序遍历,得到一个升序数组,那么最小的值之差就用相邻的数组元素相减得到。思路2:(双指针法)节约内存遍历的时候用双指针,每次遍历的时候取相邻元素做差,和结果比较获得最小值。classSolution{public:intresult=INT_MAX;TreeNode*pre=nullptr;voi
RuojiFW
·
2023-11-13 19:12
算法
leetcode
数据结构
代码随想录
算法训练
营第二十一天 | 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差找到2个相邻的数之间的差值,就必定要遍历整颗树,利用BST的特性,采用中序遍历(这样就会使递增排列)+双指针(省了一个存放转换数组的空间),每一次向后遍历都去更新pre和res(如果出现更小插值的话)。自己容易犯错的地方就是递归是否可以在给定的原函数内,或者需要另外一个helperfunction帮助自己。答:在确定递归的返回值时,确定是否需要的返回和输入和给的函数签
MRmaand12
·
2023-11-13 19:12
leetcode
小白的刷题之路
算法
数据结构
leetcode
代码随想录
算法训练
营第17天|110. 平衡二叉树 257. 二叉树的所有路径 404. 左叶子之和
JAVA代码编写110.平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,null,4,4]输出:false示例3:输入:root=[]输出:true提示:树中的
Catherinemin
·
2023-11-13 13:33
leetcode
代码随想录
算法
算法
java
代码随想录
算法训练
营第15天|102. 二叉树的层序遍历226. 翻转二叉树101. 对称二叉树
JAVA代码编写102.二叉树的层序遍历给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例2:输入:root=[1]输出:[[1]]示例3:输入:root=[]输出:[]提示:树中节点数目在范围[0,2000]内-1000>resList=ne
Catherinemin
·
2023-11-13 13:32
leetcode
代码随想录
算法
算法
代码随想录
算法训练
营第18天|513. 找树左下角的值 112. 路径总和 113.路径总和ii 106.从中序与后序遍历序列构造二叉树
JAVA代码编写513.找树左下角的值给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。示例1:输入:root=[2,1,3]输出:1示例2:输入:[1,2,3,4,null,5,6,null,null,7]输出:7提示:二叉树的节点个数的范围是[1,104]-231Deep){value=root.val;Deep=deep;}}if(root.l
Catherinemin
·
2023-11-13 13:31
代码随想录
leetcode
算法
算法
java
代码随想录
算法训练
营第三十一天|贪心算法理论基础、455.分发饼干、376. 摆动序列、53. 最大子序和
贪心算法理论基础文档讲解:代码随想录-贪心算法理论基础状态:再次回顾。什么是贪心贪心的本质是选择每一阶段的局部最优,从而达到全局最优。贪心一般解题步骤贪心算法一般分为如下四步:将问题分解为若干个子问题找出适合的贪心策略求解每一个子问题的最优解将局部最优解堆叠成全局最优解455.分发饼干文档讲解:代码随想录-455.分发饼干状态:再次回顾。思路:这里的局部最优就是大饼干喂给胃口大的,充分利用饼干尺寸
FuCosmo
·
2023-11-13 13:47
算法
代码随想录
算法
贪心算法
代码随想录
算法训练
营第23期day47|198.打家劫舍、213.打家劫舍II、337.打家劫舍III
目录一、(leetcode198)打家劫舍二、(leetcode213)打家劫舍II三、(leetcode337)打家劫舍III一、(leetcode198)打家劫舍力扣题目链接classSolution{public:introb(vector&nums){if(nums.size()==0)return0;if(nums.size()==1)returnnums[0];vectordp(num
weixin_42179093
·
2023-11-13 12:22
代码随想录二刷
算法
leetcode
数据结构
代码随想录
算法训练
营第23期day48|121. 买卖股票的最佳时机、122.买卖股票的最佳时机II
目录一、121.买卖股票的最佳时机二、122.买卖股票的最佳时机II一、(leetcode121)买卖股票的最佳时机力扣题目链接classSolution{public:intmaxProfit(vector&prices){intlen=prices.size();if(len==0)return0;vector>dp(len,vector(2));dp[0][0]-=prices[0];dp[
weixin_42179093
·
2023-11-13 12:22
代码随想录二刷
算法
leetcode
动态规划
代码随想录
算法训练
营第23期day50| 309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费
目录一、(leetcode309)最佳买卖股票时机含冷冻期二、(leetcode714)买卖股票的最佳时机含手续费一、(leetcode309)最佳买卖股票时机含冷冻期力扣题目链接这里的每一个状态,例如状态一,是持有股票股票状态并不是说今天一定就买入股票,而是说保持买入股票的状态即:可能是前几天买入的,之后一直没操作,所以保持买入股票的状态。classSolution{public:intmaxP
weixin_42179093
·
2023-11-13 12:22
代码随想录二刷
算法
leetcode
动态规划
上一页
37
38
39
40
41
42
43
44
下一页
按字母分类:
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
其他