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
蓝桥杯_算法训练
题目 1629:
蓝桥杯
算法训练
VIP-接水问题
题目描述:学校里有一个水房,水房里一共装有m个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。现在有n名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1到n编号,i号同学的接水量为wi。接水开始时,1到m号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学j完成其接水量要求wj后,下一名排队等候接水的同学k马上接替j同学的位置开始接水。这个换人的过程是瞬间完成的,
几两春秋梦_
·
2024-03-03 16:07
蓝桥杯
java
算法
开发语言
题目 1619:
蓝桥杯
算法训练
VIP-字串统计
题目描述:给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。代码:packagelanqiao;importjava.math.BigInteger;importjava.text.DecimalFormat;importjava.util.*;publicclassMain{pu
几两春秋梦_
·
2024-03-03 15:05
蓝桥杯
java
开发语言
算法复习之二分【备战
蓝桥杯
】
二分模板一共有两个,分别适用于不同情况。算法思路:假设目标值在闭区间[l,r]中,每次将区间长度缩小一半,当l=r时,我们就找到了目标值。版本一当我们将区间[l,r]划分成[l,mid]和[mid+1,r]时,其更新操作是r=mid或者l=mid+1;计算mid时不需要加1。intbsearch_1(intl,intr){while(l>1;if(check(mid))r=mid;elsel=mi
nucty
·
2024-03-02 18:37
算法
算法
代码随想录
算法训练
营第7天| 454. 四数相加 II、383. 赎金信、15. 三数之和、18. 四数之和
454.四数相加II题目链接454.四数相加II-力扣(LeetCode)思路这道题目的暴力解法是O(n^4),可以与两数之和一样使用哈希法解决,但是必要两个嵌套for循环了!这道题可以采用的哈希结构为map类型的,key值作元素值,value值作为同一个key值出现的次数本人题解classSolution{public:intfourSumCount(vector&nums1,vector&nu
总系学不废
·
2024-03-02 13:30
代码随想录算法训练营刷题
算法
蓝桥杯
刷题--python-14-二分
0求阶乘-蓝桥云课(lanqiao.cn)defcheck(n):res=0whilen:res+=n//5n//=5returnresk=int(input())l=0r=10**19#print(r/2)while(l
芝士小熊饼干
·
2024-03-01 19:33
蓝桥杯
二分
python
算法
蓝桥杯
前端Web赛道-寻找小狼人
蓝桥杯
前端Web赛道-寻找小狼人题目链接:0寻找小狼人-蓝桥云课(lanqiao.cn)题目要求:其实通过题目要求以及题目中提供的gif可知,该题就是需要我们手动写出能够代替filter函数的函数我们先分析题目给出的代码
明天一定早睡_
·
2024-03-01 19:33
蓝桥杯
蓝桥杯
前端
职场和发展
第十一届
蓝桥杯
省赛第一场C++ A/B组《解码》(c++)
1.题目说明小明有一串很长的英文字母,可能包含大写和小写。在这串字母中,有很多连续的是重复的。小明想了一个办法将这串字母表达得更短:将连续的几个相同字母写成字母+出现次数的形式。例如,连续的5个a,即aaaaa,小明可以简写成a5(也可能简写成a4a、aa3a等)。对于这个例子:HHHellllloo,小明可以简写成H3el5o2。为了方便表达,小明不会将连续的超过9个相同的字符写成简写的形式。现
北洋的霞洛
·
2024-03-01 06:45
蓝桥杯
c++
算法
代码随想录
算法训练
营总结
正式结束了代码随想录
算法训练
营为期60天的打卡,最终能够坚持下来感觉还是很有成就感的。
张金卓2023
·
2024-03-01 00:07
算法
数据结构
海智
算法训练
营第三十五天 | 第八章 贪心算法 part05 | ● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间
今日任务:1.非重叠区间问题(和气球一样)2.划分字母区间3.合并区间1.非重叠区间问题(和气球一样)力扣题目链接和射气球一样的做法,经典重叠区间基础问题classSolution{publicinteraseOverlapIntervals(int[][]intervals){intsum=0;Arrays.sort(intervals,(o1,o2)->Integer.compare(o1[0
pp今天努力突破java地板
·
2024-02-29 16:26
java
算法
数据结构
代码随想录
算法训练
营第四十三天|1049.最后一块石头的重量II、494.目标和
1049.最后一块石头的重量IIpublicclassSolution{publicintLastStoneWeightII(int[]stones){intsum=0;for(inti=0;i=stones[i];j--){dp[j]=Math.Max(dp[j],dp[j-stones[i]]+stones[i]);}}returnsum-dp[target]-dp[target];}}明确是
萌帅帅小明
·
2024-02-29 06:44
算法
leetcode
c#
动态规划
蓝桥杯
倒计时47天!DFS基础——图的遍历
倒计时47天!深度优先搜索——DFS温馨提示:学习dfs之前最好先了解一下递归的思想。DFS基础——图的遍历仙境诅咒问题描述在一片神秘的仙境中,有N位修仙者,他们各自在仙境中独立修炼,拥有自己独特的修炼之道和修炼之地,修仙者们彼此之间相互尊重、和谐相处。然而,有一天,仙境的主宰者妮妮(第一位修仙者)受到了诅咒,该诅咒会向距离妮妮不超过D的范围内的修仙者传播。也就是说,如果一个修仙者被诅咒,那么在距
小西yu
·
2024-02-29 04:42
深度优先
蓝桥杯
算法
代码随想录
算法训练
营day02|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
977.有序数组的平方题目链接:.-力扣(LeetCode)文章讲解:代码随想录视频讲解:双指针法经典题目|LeetCode:977.有序数组的平方_哔哩哔哩_bilibili1.暴力解法classSolution:defsortedSquares(self,nums:List[int])->List[int]:nlist=[]foriinnums:nlist.append(i**2)return
一只马儿️
·
2024-02-28 20:03
算法
二刷代码随想录
算法训练
营第七天 |454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
目录一、454.四数相加II二、383.赎金信三、15.三数之和18.四数之和一、454.四数相加II题目链接:力扣文章讲解:代码随想录视频讲解:学透哈希表,map使用有技巧!LeetCode:454.四数相加II题目:给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0&nums1,vector&nums2,vector
magic bamboo
·
2024-02-28 11:23
算法
leetcode
哈希算法
代码随想录
算法训练
营第60天(动态规划17● 647. 回文子串 ● 516.最长回文子序列 ● 动态规划总结篇
动态规划part17647.回文子串解题思路动态规划解法中心拓展法516.最长回文子序列解题思路动态规划总结篇647.回文子串动态规划解决的经典题目,如果没接触过的话,别硬想直接看题解。题目链接:647.回文子串文章/视频讲解:647.回文子串解题思路动态规划解法dp数组及其下标的含义布尔类型的dp[i][j]:表示区间范围[i,j](注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为
芋泥肉松脑袋
·
2024-02-27 22:04
算法
动态规划
java
leetcode
开发语言
海智
算法训练
营第三十一天 | 第八章 贪心算法 part02 | ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II
今日任务:1.利用贪心解决每天利润问题2.利用贪心覆盖范围解决跳跃问题3.利用贪心覆盖范围解决跳跃II问题1.利用贪心解决每天利润问题力扣题目链接这道题可以用贪心很简单的做出来,从图中可以发现,其实我们需要收集每天的正利润就可以,收集正利润的区间,就是股票买卖的区间,而我们只需要关注最终利润,不需要记录区间。classSolution{publicintmaxProfit(int[]prices)
pp今天努力突破java地板
·
2024-02-27 17:59
算法
leetcode
数据结构
蓝桥杯
第1374题——锻造兵器
题目描述小明一共有n块锻造石,第块锻造石的属性值为ai.现在小明决定从这n块锻造石中任取两块来锻造兵器通过周密计算,小明得出,只有当两块锻造石的属性值的差值等于C,兵器才能锻造成功请你帮小明算算,他有多少种选取锻造石的方案可以使得锻造成功输入描述第一行包含两个整数n,C,其含义如题所述接下来一行包含n个整数,分别表示a1,a2,··,an.1c){slow++;}if(fast
Ares陌冄
·
2024-02-26 17:00
java算法学习笔记
算法
蓝桥杯
山 java
题目这天小明正在学数数。他突然发现有些正整数的形状像一座“山”,比如123565321、145541,它们左右对称(回文)且数位上的数字先单调不减,后单调不增。小明数了很久也没有数完,他想让你告诉他在区间[2022,2022222022]中有多少个数的形状像一座“山”。思路一暴力因为是填空题,只要能算出答案即可,注意单调不减的意思并不是单调递增,比如说2222这个就不是单调递增暴力枚举区间[202
Just right
·
2024-02-26 04:45
算法
java
蓝桥杯
开发语言
代码随想录
算法训练
营第六天|242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和
文档讲解哈希表哈希碰撞STL当遇到需要查询一个集合中是否出现过某个元素的时候,通常会想到哈希表这种数据结构。那么什么是哈希表呢?存储位置=hash_fun(key),其与数组和链表这种结构都是不同的,它的存储位置是通过一个哈希函数来得到的。哈希函数:h(key)=key%capacity;那如果这个key是负数呢?h(key)就是#includeconstintN=题目数据量*2+3;consti
y_wang09
·
2024-02-26 00:38
算法
链表
哈希算法
蓝桥杯
倒计时48天!二分模板
倒计时48天!二分二分模板判断是否可以二分(1)单调性备选答案集是有序的(2)二段性在检查了mid是否符合要求之和,我可以舍弃mid左右某一边的答案两个模板关键词:满足条件的最小值,最大值最小,某个有序区间内某个数>=或者>key的第一个元素,或者当正确答案在左边时while(l=k){returntrue;}returnfalse;}那么这里的边长的最小值是1,最大值就是巧克力的最大边长,也就是
小西yu
·
2024-02-25 09:18
蓝桥杯
代码随想录
算法训练
营day39| 62. 不同路径、63. 不同路径II
62、不同路径:classSolution(object):defuniquePaths(self,m,n):""":typem:int:typen:int:rtype:int"""dp=[[0]*nfor_inrange(m)]foriinrange(m):dp[i][0]=1forjinrange(n):dp[0][j]=1foriinrange(1,m):forjinrange(1,n):d
牛奶是只猫
·
2024-02-24 03:48
算法
leetcode
数据结构
代码随想录
算法训练
营day21|530.二叉搜索树的最小绝对差 、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差代码随想录视频讲解:二叉搜索树中,需要掌握如何双指针遍历!|LeetCode:530.二叉搜索树的最小绝对差_哔哩哔哩_bilibili把二叉搜索树转换成有序数组,然后遍历一遍数组,就统计出来最小差值了递归法(版本一)利用中序递增,结合数组#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,va
一只马儿️
·
2024-02-23 07:25
算法
【Java】零基础
蓝桥杯
算法学习——二分查找
算法模板一://数组arr的区间[0,left-1]满足arr[i]=k;Scannerscan=newScanner(System.in);int[]arr={1,2,3,4,5};intleft=0,right=arr.length-1;intk=scan.nextInt();while(left=k)right=mid;elseleft=mid+1;}算法模板二://数组arr的区间[0,l
xioaobai_huan
·
2024-02-20 23:58
蓝桥杯算法入门学习
算法
java
蓝桥杯
【Java】零基础
蓝桥杯
算法学习——动态规划例题
例题:2023年第十四届
蓝桥杯
Java软件开发B组E题蜗牛参考解答:参考代码示例:importjava.util.Scanner;publicclassMain{staticintN=100010;staticint
xioaobai_huan
·
2024-02-20 23:58
蓝桥杯算法入门学习
算法
java
蓝桥杯
【Java】零基础
蓝桥杯
算法学习——线性动态规划(一维dp)
线性dp——一维动态规划1、考虑最后一步可以由哪些状态得到,推出转移方程2、考虑当前状态与哪些参数有关系,定义几维数组来表示当前状态3、计算时间复杂度,判断是否需要进行优化。一维动态规划例题:最大上升子序列问题Java参考代码:importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscan
xioaobai_huan
·
2024-02-20 23:24
蓝桥杯算法入门学习
算法
蓝桥杯
学习
java
算法训练
Day17|二叉树part04(LeetCode 110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和)
文章目录110.平衡二叉树257.二叉树的所有路径404.左叶子之和递归法迭代法110.平衡二叉树题目链接给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。根节点的高度就是这棵树的最大深度。求深度可以从上到下去查所以需要前序遍历(中左右),而高度只能从下到上去查,所以只能后序遍历(左右中)这里看不懂可以看二叉树
3分16秒
·
2024-02-20 22:39
算法与数据结构
算法
leetcode
c++
数据结构
代码随想录
算法训练
营第十七天| LeetCode110.平衡二叉树、LeetCode257. 二叉树的所有路径、LeetCode404.左叶子之和
#LeetCode110.BalancedBinaryTree#LeetCode110.视频讲解:后序遍历求高度,高度判断是否平衡|LeetCode:110.平衡二叉树_哔哩哔哩_bilibili平衡二叉树的定义是:二叉树的每个节点的左右子树的高度之差不超过1.如果计算二叉树的高度用后序遍历,二叉树的深度用前序遍历,原因如下:二叉树的高度:叶子节点所在的层为1,所以是汇总左右孩子情况后+1,返回给
wIridescent-
·
2024-02-20 22:36
算法
代码随想录
算法训练
营(23/5/25)二叉树,LeetCode 110.平衡二叉树,LeetCode.257二叉树的所有的路径,LeetCode 4044.左子树之和
LeetCode110.平衡二叉树这道题是判断高度平衡的二叉树,深度可以从上到下去查,所以需要前序遍历,而高度是只能从到下到上查,只能是后序遍历,要多看看题目,理解透题目的意思LeetCode257二叉树的所有的路径我不是能理解回溯,这道题半懂LeetCode404.左子树之和判断左节点是最重要的
Y加油
·
2024-02-20 22:36
算法
leetcode
职场和发展
leetcode
算法训练
十八天|530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差学习视频:二叉搜索树中,需要掌握如何双指针遍历!|LeetCode:530.二叉搜索树的最小绝对差_哔哩哔哩_bilibili学习文档:代码随想录(programmercarl.com)学习时间:21:30-22:06记录时间:22:06状态:已听懂|未复写代码|最好复习1.看到问题后的初始想法与看完随想录后的心得时间最近比较急,先放弃复现代码,仅仅看了卡哥的代码视频
洗菜拉普达
·
2024-02-20 20:20
算法
leetcode
数据结构
算法训练
day16 | php | 530.二叉搜索树的最小绝对差 , 501.二叉搜索树中的众数 , 236. 二叉树的最近公共祖先
一、力扣题530.二叉搜索树的最小绝对差给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。示例1:输入:root=[4,2,6,1,3]输出:1示例2:输入:root=[1,0,48,null,null,12,49]输出:1提示:树中节点的数目范围是[2,104]0getMin($root);return$this->min;}
a8917cwr
·
2024-02-20 20:15
算法
数据结构
leetcode
php
杂题——字符串——试题
算法训练
二元函数
分析:关键在于,如果处理输入的字符串成表达式字符串分三种情况:如果S中只包含一个整数,则该整数就是表达式S的值;如果S中包含f函数,则递归计算f函数的参数,并将计算结果代入f函数中计算;如果S中包含括号,则递归计算括号中的表达式,并将计算结果作为新的表达式S计算。解析字符串,使用递归方法,从外向内,寻找f()函数的两个参数packageno1_1;importjava.util.*;publicc
戏拈秃笔
·
2024-02-20 19:06
数据结构与算法(java版)
算法
算法——数论——同余
目录同余一、试题
算法训练
同余方程同余同余使人们能够用等式的形式简洁地描述整除关系同余:若m(正整数),a和b是整数,a%m==b%m,或(a-b)%m==0,记为ab(modm)求解一元线性同余方程等价于求解二元线性丢番图方程一元线性同余方程
戏拈秃笔
·
2024-02-20 19:36
数据结构与算法(java版)
算法
备战
蓝桥杯
---图论之最短路dijkstra算法
目录先分个类吧:1.对于有向无环图,我们直接拓扑排序,和AOE网类似,把取max改成min即可。2.边权全部相等,直接BFS即可3.单源点最短路从一个点出发,到达其他顶点的最短路长度。Dijkstra算法:用于一个节点到所有其他节点的最短路。(要求:不存在负权边,可以用于无向图)先分个类吧:1.对于有向无环图,我们直接拓扑排序,和AOE网类似,把取max改成min即可。2.边权全部相等,直接BFS
CoCoa-Ck
·
2024-02-20 19:02
图论
算法
c++
蓝桥杯
算法——图论——最短路径——Floyd / 传递闭包
目录Floyd-Warshall(弗洛伊德)算法传递闭包一、试题
算法训练
盾神与离散老师2Floyd-Warshall(弗洛伊德)算法求所有顶点到所有顶点的最短路径问题弗洛伊德算法(Floyd-Warshallalgorithm
戏拈秃笔
·
2024-02-20 19:02
数据结构与算法(java版)
算法
代码随想录
算法训练
营第16天|● 104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
104.二叉树的最大深度思路:二叉树求深度:从上往下遍历,前序遍历求高度:从下往上遍历,后序遍历本题的求最大高度和最大深度都一样,高度即深度。以下用后序遍历求深度,每层递归返回左右子树最大的高度加上本身(当前根节点)的高度.代码:intgetdepth(TreeNode*node){if(node==nullptr)return0;intleftdepth=getdepth(node->left)
strive340
·
2024-02-20 18:38
算法
数据结构
代码随想录
算法训练
营第18天|● 513.找树左下角的值● 112. 路径总和 113.路径总和ii● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
513.找树左下角的值思路(递归):题意是找树的最后一行,最左边的值,所以不一定该节点是左孩子,也有可能是右孩子。本题不需要中的处理过程,所以前中后序遍历都可以,因为只需要左右的遍历顺序即可。用一个全局变量MaxDepth记录最大的深度,depth记录当前遍历的层数(所以需要回溯过程)。因为最先递归遍历左边,所以如果当第一次最大深度出现节点,则result一定记录的是最左值,再之后遍历如果最大深度
strive340
·
2024-02-20 18:08
算法
数据结构
代码随想录
算法训练
营第17天|110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和
110.平衡二叉树为什么很多二叉树的题目都用后序遍历?因为左右中,可以把处理该节点放到最后,例如这题,只有得出了左右子树的高度,才能知道以该节点为根的子树是否为平衡二叉树。思路:后序遍历,计算左右子树高度差,若有一颗子树不是平衡二叉树则直接返回-1(一颗子树不平衡,则整颗子树都不平衡),否则是平衡二叉树,返回左右子树最大的一个高度加上根节点的高度。代码:intgethight(TreeNode*n
strive340
·
2024-02-20 18:07
算法
数据结构
代码随想录
算法训练
营第19天|654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树
654.最大二叉树代码思路:构造二叉树一般都用前序遍历,中左右,可以优先处理构造中节点,再递归构造左右子树。题解分步:第一步.找到该数组中最大的元素,并记录其数组下标(方便分割数组),也是切割点。第二步.中,构造该最大值的节点第三步.左,把切割点(不包含切割点)左边的数组传入递归构造左子树第四步.右,切割点右边数组传入递归构造右子树最后,返回其根节点注:分割数组必须遵循循环不变量原则,下面分割区间
strive340
·
2024-02-20 18:05
算法
数据结构
java
备战
蓝桥杯
---数据结构之好题分享1
最近几天在刷学校的题单时,发现了几道十分巧妙又有启发性的题,借此来记录分享一下。看题:从整体上看似乎没有什么规律,于是我们从小地方入手,下面是图解:因此,我们用栈的数据结构实现即可,下面是AC代码:#include#include#include#include#includeusingnamespacestd;#defineintlonglongintt,n,c[100010],q[100010
CoCoa-Ck
·
2024-02-20 18:04
蓝桥杯
数据结构
算法
c++
算法训练
day29Leetcode491递增子序列46全排列47全排列Ⅱ
491递增子序列题目描述给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。你可以按任意顺序返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。示例1:输入:nums=[4,6,7,7]输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]示例2:输入
爱傲雪和技术的dc
·
2024-02-20 17:30
算法
数据结构
代码随想录
算法训练
营day17|Leetcode110/257/404
Leetcode257二叉树的所有路径链接:257.二叉树的所有路径-力扣(LeetCode)给你一个二叉树的根节点root,按任意顺序,返回所有从根节点到叶子节点的路径。叶子节点是指没有子节点的节点。思路:递归+回溯法这里有两种方法。第一:两层for循环,分别遍历左子树和右子树。特例:如果只有1个root,那么可以直接添加到结果集种[str(root)],注意在添加的过程中要对应上lettcod
yrrej0
·
2024-02-20 15:20
算法
leetcode
职场和发展
python
数据结构
代码随想录
算法训练
营day5
代码随想录
算法训练
营day5来到了我们的哈希表。。。
魏进
·
2024-02-20 15:47
算法
leetcode
哈希算法
代码随想录
算法训练
营day19
题目:654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树参考链接:代码随想录654.最大二叉树思路:做过根据中序后序数组构建二叉树后,这题比较容易,只需要找到最大值分割,然后递归构造即可。时间复杂度O(n),即为数组长度。classSolution{public:intfindMaxIndex(vector&nums){//默认不为空intmax=INT_MI
羊角问蕊
·
2024-02-20 15:17
算法
代码随想录
算法训练
营day20
题目:530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236.二叉树的最近公共祖先参考链接:代码随想录530.二叉搜索树的最小绝对差思路:我一开始想到的方法是先生成中序序列,然后对相邻两项的差进行计算,取最小值,时间复杂度O(n)。classSolution{public:vectorinorder;voidtraverse(TreeNode*root){if(!root){retur
羊角问蕊
·
2024-02-20 15:17
算法
代码随想录
算法训练
营day16
题目:104.二叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数参考链接:代码随想录104.二叉树的最大深度思路:上次是用层序遍历的思路做过。这次想一点不一样的思路,对于一个二叉树的最大深度其实即为其两个子树的最大深度+1,所以可以采用递归法解决,结束条件即当root都为空的时候,最大深度即为1。时间复杂度O(n)。classSolution{public:intmaxDep
羊角问蕊
·
2024-02-20 15:16
算法
数据结构
代码随想录
算法训练
营day18
题目:513.找树左下角的值、路径总和、从中序与后序遍历序列构造二叉树参考链接:代码随想录513.找树左下角的值思路:这题首先想到层序遍历,直接记录每一层第一个值,最后即为答案。classSolution{public:intfindBottomLeftValue(TreeNode*root){queueq;intans;if(root){q.push(root);}while(!q.empty(
羊角问蕊
·
2024-02-20 15:16
算法
数据结构
代码随想录
算法训练
营day07
题目:454.四数相加II、383.赎金信、15.三数之和、18.四数之和参考链接:代码随想录454.四数相加II思路:本题和两数之和感觉类似,四个数我第一想到的是将其拆分成a+b和c+d,由于只需要返回次数,我只需要将a+b的次数保存到哈希表m1中,c+d保存到m2中,然后在s2中找-a-b的次数,将两个哈希表的次数相乘得到结果。时间复杂度O(n^2)。classSolution{public:
羊角问蕊
·
2024-02-20 15:46
算法
哈希算法
代码随想录
算法训练
营day09
题目:28.实现strStr()、459.重复的子字符串参考链接:代码随想录28.实现strStr()思路:KMP算法,这个比较复杂,主要是需要理解一个前缀表,即储存模式串needle的最长相等前后缀,注意前缀不包含末尾,后缀不包含开头。我们的第一步就是根据needle,计算出前缀表,这里可以先不用理解为什么,先记住前缀表的求法。前缀表就是一个长度和needle相同的数组,对于needle的每个字
羊角问蕊
·
2024-02-20 15:46
算法
代码随想录
算法训练
营day14
题目:递归遍历、迭代遍历、统一迭代参考链接:代码随想录基础知识满二叉树深度为k,节点数为2^k-1,其中k从1开始完全二叉树除了最底层节点未满,其他层节点都满,且最底层节点集中到左边。**即从上往下从左往右遍历能连着。**最底层为k,则最底层节点数从1到2^(k-1)二叉搜索树树节点有元素,且对每个子树,左侧所有节点都小于根节点,右侧都大于根节点。存储方式数组存储和链式存储。遍历方式DFS:前序,
羊角问蕊
·
2024-02-20 15:46
算法
平衡二叉树(简单)——代码随想录
算法训练
营Day17
题目链接: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提示:树中
晴雪月乔
·
2024-02-20 15:42
代码随想录算法训练营
#
LeetCode
二叉树
算法
代码随想录算法训练营
二叉树
代码随想录
算法训练
营day17|110、257、404
110高度:后序深度:前序后序遍历解决问题:确保递归三要素。如果前序遍历,左右还没得到怎么可能先遍历中呢?-1意义是这个树不是平衡257求路径需要前序遍历。递归?回溯?相辅相成的,回溯的过程就在递归的下面。中写到最前面path表示路径添加404后序遍历会好点:判断左右子树的左叶子之和,返回给上一层节点。递归逻辑:终止条件时,我要判断左孩子之和,要从父节点出发,所以当某个节点没有叶子节点时,条件终止
code_the_smart
·
2024-02-20 15:11
数据结构
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他