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算法训练
算法系统练习
学习目标:一周
算法训练
(10.17-10.22)一周
算法训练
(10.23-10.29){未完成,一周不知道在忙啥}一周
算法训练
(10.30-11.5)学习内容:每天至少刷一道题学习时间:Everyday
不勤奋
·
2023-11-08 22:21
算法
开发语言
柔性数组
算法训练
营学习笔记2
树的应用树树(Tree)是n(n≥0)个节点的有限集合,当n=0时,为空树;当n>0时,为非空树。任意一棵非空树,都满足:①有且仅有一个被称为根的节点;②除根节点外的其余节点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每一个集合本身又是一棵树,被称为根的子树(SubTree)一棵树如下图所示。该树除了树根,还有3棵互不相交的子树:T1、T2、T3。该定义是从集合论的角度给出的对树
虾球xz
·
2023-11-08 20:46
数据结构
数据结构算法
算法
数据结构
知识图谱
代码随想录
算法训练
营第十三天|239. 滑动窗口最大值 347.前 K 个高频元素 总结
一、239.滑动窗口最大值题目:给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。分析:使用队列的性质来做,主要涉及了三个函数,pop()、push()、getMaxValue()代码://解法一//自定义数组classMyQueue{Dequedeque=newLinkedLis
Aria_记录
·
2023-11-08 17:58
数据结构
代码随想录
算法训练
营第十三天|239.滑动窗口最大值 347.前 K 个高频元素
目录LeeCode239.滑动窗口最大值LeeCode347.前K个高频元素LeeCode239.滑动窗口最大值力扣题目链接思路:实现一个单调队列,保证队首元素始终为当前滑动窗口的最大值。设计单调队列的时候,pop,和push操作要保持如下规则:pop(value):如果窗口移除的元素value等于单调队列的出口元素,那么队列弹出元素,否则不用任何操作push(value):如果push的元素va
禹泽.
·
2023-11-08 17:28
LeeCode刷题
leetcode
算法
数据结构
代码随想录
算法训练
营第十三天|239. 滑动窗口最大值 347.前 K 个高频元素
239.滑动窗口最大值单调队列push():如果push进来的元素都比前面大,那么前面的元素都要弹出去,直到前面元素没有新加入的元素大为止pop():从出口pop()getMaxValue():返回出口处的值给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。来源:力扣(Leet
RicardoLee7
·
2023-11-08 17:27
算法
leetcode
数据结构
代码随想录
算法训练
营第13天 | 239. 滑动窗口最大值 347.前 K 个高频元素
239.SlidingWindowMaximum#用有趣方式取代max(max函数效率很低,本质是for循环)#单调队列:队尾插,队头删#需要使用双端队列dequefromcollectionsimportdequeclassSolution(object):defmaxSlidingWindow(self,nums,k):window=deque()res=[]foriinrange(0,len
nossj
·
2023-11-08 17:56
代码随想录算法训练营第二期
算法
代码随想录
算法训练
营第13天| 239. 滑动窗口最大值 347.前 K 个高频元素
今日学习的文章链接,或者视频链接第五章栈与队列part03自己看到题目的第一想法看完代码随想录之后的想法239:classMonotonicQueue{private:dequeq;public:voidpush(intn){//将小于n的元素全部删除while(!q.empty()&&q.back()maxSlidingWindow(vector&nums,intk){MonotonicQueu
D调E点。
·
2023-11-08 17:25
算法
leetcode
数据结构
代码随想录
算法训练
营第十三天 | 239. 滑动窗口最大值 347.前 K 个高频元素
239.滑动窗口最大值题目链接:239.滑动窗口最大值文章讲解:239.滑动窗口最大值视频讲解:单调队列正式登场!|LeetCode:239.滑动窗口最大值_哔哩哔哩_bilibili思路:暴力方法,遍历一遍的过程中每次从窗口中再找到最大的数值,这样很明显是O(n×k)的算法。我们需要一个队列,这个队列呢,放进去窗口里的元素,然后随着窗口的移动,队列也一进一出,每次移动之后,队列告诉我们里面的最大
niubimei666
·
2023-11-08 17:54
算法
代码随想录
算法训练
营第十三天| 239. 滑动窗口最大值 347.前 K 个高频元素
今日学习的文章链接和视频链接滑动窗口最大值(一刷至少需要理解思路)题目链接/文章讲解/视频讲解:https://programmercarl.com/0239.%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3%E6%9C%80%E5%A4%A7%E5%80%BC.html347.前K个高频元素(一刷至少需要理解思路)题目链接/文章讲解/视频讲解:https://progra
qq_22081185
·
2023-11-08 17:54
算法
代码随想录
算法训练
营第十三天 |239. 滑动窗口最大值 347.前 K 个高频元素
一、239.滑动窗口最大值题目链接:力扣文章讲解:代码随想录视频讲解:单调队列正式登场!|LeetCode:239.滑动窗口最大值题目:给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。代码:classSolution{public:classMyQueue{public:de
magic bamboo
·
2023-11-08 17:53
算法
leetcode
数据结构
代码随想录
算法训练
营第13天 | 239. 滑动窗口最大值 347. 前 K 个高频元素
一、Leetcode239.滑动窗口最大值单调队列的思路真的很奇妙。学会了deque双向队列。学会了private里定义类的成员类;二、Leetcode347.前K个高频元素这个顶堆容易理解,但是数据结构优先级队列没搞明白。比较函数:classmycomparison{public:booloperator()(constpair&lhs,constpair&rhs){returnlhs.seco
虎年喵飞飞
·
2023-11-08 17:53
刷题
leetcode
c++
代码随想录
算法训练
营第十三天|239. 滑动窗口最大值 347. 前 K 个高频元素
239.滑动窗口最大值思路:用三个函数实现可取最大值的单调队列。push元素时将队列中比该元素大的都移除,保证队列单调递减;pop元素时,只有当该元素与最大元素(队头)相等时,该元素存在队列中,移除该元素。最大元素始终在队头。347.前K个高频元素思路:使用unordered_map存放数据出现的频率;遍历map,使用小顶堆维护两个出现频率最高的值和频率;最后按降序存放输出数据。注意:小顶堆的定义
m0_58067179
·
2023-11-08 17:52
数据结构
c++
算法
代码随想录
算法训练
营第十三天| 239. 滑动窗口最大值 347.前 K 个高频元素
239.滑动窗口最大值力扣classSolution{private:classqueue{public:dequeque;voidpop(intvalue){if(!que.empty()&&value==que.front()){que.pop_front();}}voidpush(intvalue){while(!que.empty()&&value>que.back()){que.pop_
VIVAXXXX
·
2023-11-08 17:22
算法
数据结构
leetcode
代码随想录
算法训练
营第13天|239. 滑动窗口最大值 347.前 K 个高频元素
239.滑动窗口最大值(一刷至少需要理解思路)题目链接:LeetCode-TheWorld'sLeadingOnlineProgrammingLearningPlatform题目链接/文章讲解/视频讲解:代码随想录解题思路:超时解法设置一个deque遍历每次append一个数字当达到slidingwindowsize时记录最大数字并移除第一个继续遍历append数字。fromcollections
小周小周考虑不周
·
2023-11-08 16:50
算法
leetcode
数据结构
代码随想录
算法训练
营第十三天 | 239. 滑动窗口最大值 347.前 K 个高频元素 总结
239.滑动窗口最大值(一刷至少需要理解思路)之前讲的都是栈的应用,这次该是队列的应用了。本题算比较有难度的,需要自己去构造单调队列,建议先看视频来理解。文章讲解/视频讲解:代码随想录题目链接:239.滑动窗口最大值//解法一//自定义数组classMyQueue{Dequedeque=newLinkedListdeque.getLast()){deque.removeLast();}deque.
Dead Woods
·
2023-11-08 16:20
算法刷题
算法
算法训练
营第十三天|239. 滑动窗口最大值 347. 前 K 个高频元素
239.滑动窗口最大值这题真的很难,这个思路很难想到,自己用双端数组维护一个优先级队列。classSolution{public:vectormaxSlidingWindow(vector&nums,intk){MyQueuequeue;vectorres;for(inti=0;ique;voidpop(intvalue){if(!que.empty()&&value==que.front()){
212t
·
2023-11-08 16:50
算法
leetcode
数据结构
算法训练
营第十三天 | 239. 滑动窗口最大值、347.前 K 个高频元素
文章目录对应力扣的题目链接思路分析解决方案问题一、239.滑动窗口最大值题目链接:239.滑动窗口最大值-力扣(LeetCode)思路分析:1、可能首先想到的是暴力破解,每一个区间,遍历一遍,找到最大值。将其搜集起来。2、单调队列的思想,每次窗口移动的时候,调用que.pop(滑动窗口中移除元素的数值),que.push(滑动窗口添加元素的数值),然后que.front()就返回我们要的最大值。3
零二年的冬
·
2023-11-08 16:48
算法训练
算法
力扣算法-----一刷总结
之前学习算法题坚持不了几天就很容易放弃,一直没怎么系统的练习,偶然发现代码随想录居然推出了
算法训练
营,趁着时间比较足报了名跟着学习了两个月。
orange121212
·
2023-11-08 12:39
算法
leetcode
职场和发展
代码随想录
算法训练
营第15天 | 第六章 二叉树 part02● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树 2
第六章二叉树part02今日内容:●层序遍历10●226.翻转二叉树●101.对称二叉树2看完本篇可以一口气刷十道题,试一试,层序遍历并不难,大家可以很快刷了十道题。题目链接/文章讲解/视频讲解:代码随想录102.二叉树的层序遍历【链接】(文章,视频,题目)代码随想录力扣题目链接【第一想法与实现(困难)】【看后想法】迭代方法可以理解递归方法想不到【实现困难】【自写代码】classSolution{
Lo sir盧
·
2023-11-08 10:54
算法
leetcode
贪心算法
代码随想录
算法训练
营第十五天 | 二叉树 part 2 | 层序遍历、反转二叉树、对称二叉树
目录层序遍历代码429.N叉树的层序遍历116.填充每个节点的下一个右侧节点指针111.二叉树的最小深度226.翻转二叉树思路代码101.对称二叉树思路代码层序遍历层序遍历使用队列的结构。队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。而这种层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。代码迭代法#Definitionforabinary
enzoherewj
·
2023-11-08 10:23
代码随想录算法训练营
算法
leetcode
数据结构
python
广度优先
深度优先
代码随想录
算法训练
营第十五天|二叉树part02| 二叉树的层序遍历 226.翻转二叉树 101. 对称二叉树
二叉树的层序遍历:10题102.二叉树的层序遍历BinaryTreeLevelOrderTraversal-LeetCodeQueuequeue;if(root!=null)queue.add(root);while(!queue.isEmpty())intsize=queue.size();Listlist;while(size-->1)node=queue.pop();list.add(nod
2301_78266314
·
2023-11-08 10:20
代码随想录算法训练营
算法
java
leetcode
数据结构
【代码随想录】
算法训练
营 第十五天 第六章 二叉树 Part 2
102.二叉树的层序遍历层序遍历,就是一层一层地遍历二叉树,最常见的就是从上到下,从左到右来遍历,遍历的方法依然有两种,第一种是借助队列,第二种则是递归,都算是很简单、很容易理解的方法,下面来分别介绍一下。队列法使用队列法讲究的就是一个简单粗暴,顺着做下去就行了。首先要定义一个队列,这个队列的元素都得是二叉树结点,因为它是用来暂存二叉树的一层的。先是把根结点入队,当然如果连根结点都没有的话,就直接
令夏二十三
·
2023-11-08 10:46
#
代码随想录
算法
数据结构
25期代码随想录
算法训练
营第六天 | 哈希表 part 1
目录242.有效的字母异位词349.两个数组的交集202.快乐数1.两数之和242.有效的字母异位词链接classSolution:defisAnagram(self,s:str,t:str)->bool:record=[0]*26foriins:#并不需要记住字符a的ASCII,只要求出一个相对数值就可以了record[ord(i)-ord("a")]+=1foriint:record[ord(
enzoherewj
·
2023-11-08 05:37
算法训练营二刷
算法
散列表
leetcode
python
25期代码随想录
算法训练
营第七天 | 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
目录454.四数相加II383.赎金信15.三数之和18.四数之和454.四数相加II链接使用defaultdict+哈希表记录nums1+nums2的和于_map中,然后对于nums3+nums4的和,检查是否为_map的相反数。如果是则累加对应的count。classSolution:deffourSumCount(self,nums1:List[int],nums2:List[int],nu
enzoherewj
·
2023-11-08 05:37
算法训练营二刷
算法
python
leetcode
25期代码随想录
算法训练
营第八天 | 字符串 part 1
目录344.反转字符串541.反转字符串II剑指Offer05.替换空格151.翻转字符串里的单词剑指Offer58-II.左旋转字符串344.反转字符串链接classSolution:defreverseString(self,s:List[str])->None:"""Donotreturnanything,modifysin-placeinstead."""l,r=0,len(s)-1whi
enzoherewj
·
2023-11-08 05:37
算法训练营二刷
算法
python
leetcode
25期代码随想录
算法训练
营第十天 | 栈与队列 part 1
目录232.用栈实现队列225.用队列实现栈232.用栈实现队列链接相当于用两个stack将队列的元素顺序颠倒了一遍。classMyQueue:def__init__(self):self.stack_in=[]self.stack_out=[]defpush(self,x:int)->None:self.stack_in.append(x)defpop(self)->int:ifself.sta
enzoherewj
·
2023-11-08 05:33
算法训练营二刷
算法
python
leetcode
算法训练
Day13|栈与队列part03(LeetCode239. 滑动窗口最大值、LeetCode347. 前K个高频元素)
文章目录239.滑动窗口最大值暴力解法1.思路分析2.代码实现3.复杂度分析使用单调队列1.思路分析2.代码实现3.复杂度分析4.总结思考347.前K个高频元素1.思路分析2.代码实现3.复杂度分析4.总结思考239.滑动窗口最大值题目链接给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的
3分16秒
·
2023-11-08 03:19
算法与数据结构
算法
c++
数据结构
算法训练
营Day13|栈与队列part3
239.滑动窗口最大值【单调队列】自我尝试思路:使用queue来维系窗口,每个窗口里再进行流排序去max操作。这个暴力法明显超时了。代码classSolution{publicint[]maxSlidingWindow(int[]nums,intk){Dequeq=newArrayDequeq=newArrayDeque=0){pop(nums[i-k],q);//System.out.print
Arteter
·
2023-11-08 03:19
1024程序员节
蓝桥杯——回文日期Java
ACpackage
算法训练
;importjava.util.Scanner;publicclass回文日期3{publicstaticvoidmain(String[]args){Scannerin=newScanner
GuangChaoz
·
2023-11-08 00:56
蓝桥杯
蓝桥杯
java
代码随想录
算法训练
营第十四天|144. 二叉树前序遍历、 145.二叉树后序遍历、94.二叉树中序遍历
这里三题是一起讲得,并且三题各有三种方法方法1递归遍历(必须掌握)二叉树的三种递归遍历掌握其规律后,其实很简单题目链接/文章讲解/视频讲解:代码随想录方法2迭代遍历(基础不好的录友,迭代法可以放过)题目链接/文章讲解/视频讲解:代码随想录方法3统一迭代(基础不好的录友,迭代法可以放过)这是统一迭代法的写法,如果学有余力,可以掌握一下题目链接/文章讲解:代码随想录理论基础需要了解二叉树的种类,存储方
凯670
·
2023-11-07 20:28
算法
代码随想录
算法训练
营第十四天| 144. 二叉树的前序遍历、94. 二叉树的中序遍历、145. 二叉树的后序遍历。
144.二叉树的前序遍历题目链接:https://leetcode.cn/problems/binary-tree-preorder-traversal/description/题目要求:给你二叉树的根节点root,返回它节点值的前序遍历。示例1:输入:root=[1,null,2,3]输出:[1,2,3]示例2:输入:root=[]输出:[]总结:树的前中后序遍历,采用递归法,要分为三部走,1.
玩复杂点
·
2023-11-07 20:28
算法
java
代码随想录
算法训练
营第14天 | 144.二叉树前序遍历,145.二叉树后序遍历,94.二叉树中序遍历
代码随想录
算法训练
营第14天|144.二叉树前序遍历,145.二叉树后序遍历,94.二叉树中序遍历二叉树的种类完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值
p_m_h
·
2023-11-07 20:58
Leetcode
算法
深度优先
数据结构
代码随想录
算法训练
营第十四天|144.二叉树的前序遍历 94.二叉树的中序遍历 145.二叉树的后序遍历
144.二叉树的前序遍历给你二叉树的根节点root,返回它节点值的前序遍历。递归遍历classSolution{publicListpreorderTraversal(TreeNoderoot){Listres=newLinkedListres,TreeNoderoot){if(root==null){return;}res.add(root.val);helper(res,root.left);
RicardoLee7
·
2023-11-07 20:27
leetcode
java
算法
代码随想录
算法训练
营第14天| 144.二叉树的前序遍历、145.二叉树的后序遍历、94.二叉树的中序遍历
144.二叉树的前序遍历难度简单940给你二叉树的根节点root,返回它节点值的前序遍历。classSolution{publicListpreorderTraversal(TreeNoderoot){Listres=newLinkedLists=newLinkedListinorderTraversal(TreeNoderoot){Listres=newLinkedLists=newLinked
Albert锐
·
2023-11-07 19:57
代码训练营刷题
数据结构
代码随想录
算法训练
营第14天 | 144.二叉树的前序遍历 + 94.二叉树的中序遍历 + 145.二叉树的后序遍历
今日任务目录理论基础144.二叉树的前序遍历-Easy递归遍历迭代遍历94.二叉树的中序遍历-Easy递归遍历迭代遍历145.二叉树的后序遍历-Easy递归遍历迭代遍历理论基础讲解:代码随想录二叉树是一种基础数据结构,在算法面试中都是常客,也是众多数据结构的基石。二叉树的种类:满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。也可以说深度为
HY.YUE
·
2023-11-07 19:56
LeetCode
python
leetcode
代码随想录
算法训练
营第十四天| LeetCode144. 二叉树的前序遍历 94. 二叉树的中序遍历145.二叉树的后序遍历
144.二叉树的前序遍历题目:144.二叉树的前序遍历//递归法classSolution{public:voidpreorder(TreeNode*cur,vector&ans){if(cur==nullptr)return;ans.push_back(cur->val);preorder(cur->left,ans);preorder(cur->right,ans);}vectorpreord
冰冰的coco
·
2023-11-07 19:22
代码随想录算法训练营
算法
leetcode
二叉树
代码随想录
算法训练
营第十四天 | 144. 二叉树的前序遍历 、145. 二叉树的后序遍历、94. 二叉树的中序遍历
代码随想录
算法训练
营第十四天|144.二叉树的前序遍历、145.二叉树的后序遍历、94.二叉树的中序遍历文章目录代码随想录
算法训练
营第十四天|144.二叉树的前序遍历、145.二叉树的后序遍历、94.二叉树的中序遍历写在前面
韭菜gaga
·
2023-11-07 19:21
代码随想录训练
leetcode
代码随想录
算法训练
营第14天 | 144.二叉树的前序遍历 145.二叉树的后序遍历 94.二叉树的中序遍历
一、二叉树基础1.种类满二叉树:只有度为0的结点和度为2的结点,并且度为0的结点在同一层上完全二叉树:除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置二叉搜索树:有序树若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树平衡二叉搜索树:AV
虎年喵飞飞
·
2023-11-07 19:50
slam
算法
数据结构
c++
leetcode
代码随想录
算法训练
营第十四天|144. 二叉树的前序遍历 145. 二叉树的后序遍历 94. 二叉树的中序遍历
144.二叉树的前序遍历递归法:注意vec地址传递迭代法:先将根节点入栈,在栈不为空时进行迭代:处理栈顶值存入结果数组,若该节点有右节点则存入栈,若有左节点则存入栈,依次循环。145.二叉树的后序遍历递归法:注意vec地址传递迭代法:与前序遍历类似,讲左右节点处理顺序颠倒,最后翻转结果数组94.二叉树的中序遍历递归法:注意vec地址传递迭代法:先将根节点存为cur节点,当cur节点不为空或stac
m0_58067179
·
2023-11-07 19:20
算法
数据结构
c++
代码随想录
算法训练
营第十四天|144 二叉树的前序遍历 145 二叉树的后序遍历 94 二叉树的中序遍历
目录144二叉树的前序遍历递归遍历迭代遍历一迭代遍历二145二叉树的后序遍历递归遍历迭代遍历一迭代遍历二94二叉树的中序遍历递归遍历迭代遍历一迭代遍历二144二叉树的前序遍历递归遍历classSolution{publicListpreorderTraversal(TreeNoderoot){ArrayListres=newArrayListres){if(root==null)return;re
魔法恐龙: )
·
2023-11-07 19:20
代码随想录训练营
算法
代码随想录
算法训练
营第14天|144.二叉树的前序遍历、94二叉树的中序遍历、145.二叉树的后序遍历
以前一直用的递归遍历,都不知道有迭代遍历的方法,今天写一篇博客记录一下。现在讲的迭代遍历都基于栈,通过遍历特性来设计出栈入栈操作。前序遍历:众所周知前序遍历的顺序是根左右。所以在迭代遍历中直接将根节点放进返回容器,然后将根节点的右节点、左节点放入栈中,注意遍历顺序是左右,所以要先将右节点入栈,然后再将左节点入栈,这样才能保证左节点是先出栈的。先说简单巧妙的后序遍历:后序遍历顺序是左右根,只用将前序
歪瓜不是挂
·
2023-11-07 19:49
算法
数据结构
c++
代码随想录
算法训练
营第十四天|144.二叉树的前序遍历、94.二叉树的中序遍历、145.二叉树的后序遍历
144.二叉树的前序遍历144.二叉树的前序遍历每次写递归都要靠直觉?这次带你学透二叉树的递归遍历!|LeetCode:144.二叉树的前序遍历、94.二叉树的中序遍历、145.二叉树的后续遍历代码随想录(programmercral.com)方法一根据根左右递归遍历即可代码实现/***Definitionforabinarytreenode.*structTreeNode{*intval;*Tr
skchendj
·
2023-11-07 19:18
笔记
数据结构
指针
算法
代码随想录
算法训练
营第十四天| 144. 二叉树的前序遍历、94. 二叉树的中序遍历、145. 二叉树的后序遍历
144.二叉树的前序遍历:代码思路classSolution:defpostorderTraversal(self,root:TreeNode)->List[int]:defpostorder(root:TreeNode):ifnotroot:returnres.append(root.val)postorder(root.left)postorder(root.right)res=list()p
hello_brucebat
·
2023-11-07 19:18
代码随想录打卡
算法
leetcode
数据结构
代码随想录
算法训练
营第十四天|144. 二叉树的前序遍历、145. 二叉树的后序遍历、94. 二叉树的中序遍历
代码随想录刷题02.26二叉树相关操作1——遍历LeetCode题目:144.二叉树的前序遍历解题思路!!!递归3步骤:1)确定递归函数的参数值:画出堆栈图,明确每个栈帧函数内的变量参数以及传递值和返回值;2)确定终止条件:想象最后一个节点的情况;3)确定单层递归体的逻辑:想象任意一个中间节点;若返回值为void,则不需要定义变量承接;若返回值是void,则需要定义变量承接。代码过程/***Def
fan15157721331
·
2023-11-07 19:17
算法
leetcode
数据结构
代码随想录
算法训练
营第十三天| 144. 二叉树的前序遍历、94. 二叉树的中序遍历、145. 二叉树的后序遍历
LeetCode144.二叉树的前序遍历题目链接:144.二叉树的前序遍历-力扣(LeetCode)思路:对于二叉树,其前中后遍历均可采用递归遍历与迭代遍历,递归很好理解,函数规定以列表的形式返回节点的值,所以我们规定边界条件,即无节点时返回[],随后讨论左孩子情况与右孩子情况。#python前序遍历递归版本#Definitionforabinarytreenode.#classTreeNode:
别看了真C不了一点
·
2023-11-07 19:16
算法
python
java
代码随想录
算法训练
营第13天|239. 滑动窗口最大值 347. 前 K 个高频元素
239.滑动窗口最大值给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例1:输入:nums=[1,3,-1,-3,5,3,6,7],k=3输出:[3,3,5,5,6,7]解释:滑动窗口的位置最大值--------------------[13-1]-3536731[3-1-
Catherinemin
·
2023-11-07 19:45
leetcode
代码随想录
算法
算法
java
数据结构
代码随想录
算法训练
营第11天|20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
JAVA代码编写20.有效的括号给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。示例1:输入:s="()"输出:true示例2:输入:s="()[]{}"输出:true示例3:输入:s="(]"输出:false提示:1deque=ne
Catherinemin
·
2023-11-07 19:15
leetcode
代码随想录
算法
算法
代码随想录
算法训练
营第14天|144. 二叉树的前序遍历 145. 二叉树的后序遍历 94. 二叉树的中序遍历
理论基础递归3要素确定递归函数的参数和返回值:确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数,并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。确定终止条件:写完了递归算法,运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。确定单层递归的逻辑:
Catherinemin
·
2023-11-07 19:12
leetcode
代码随想录
算法
算法
【代码随想录】
算法训练
计划13
1、347.前K个高频元素题目:给你一个整数数组nums和一个整数k,请你返回其中出现频率前k高的元素。你可以按任意顺序返回答案。输入:nums=[1,1,1,2,2,3],k=2输出:[1,2]思路:sort.Slice学习一下,其实还有sort.String等functopKFrequent(nums[]int,kint)[]int{//代码一刷,快排,或者小/大顶堆map1:=make(ma
不之道
·
2023-11-07 12:14
代码随想录
算法
数据结构
代码随想录
算法训练
营第23期day42|1049. 最后一块石头的重量II、494. 目标和、474.一和零
目录一、(leetcode1049)最后一块石头的重量II二、(leetcode494)目标和三、(leetcode474)一和零一、(leetcode1049)最后一块石头的重量II力扣题目链接状态:查看思路后AC。将石头重量分成两堆,这两堆的重量要尽可能相近。计算其中一堆的最大重量,因为sum/2向下取整,所以dp[target]肯定是重量较轻的那一堆,最后的答案就是重量较大的那一堆减去dp得
weixin_42179093
·
2023-11-07 08:32
代码随想录二刷
算法
leetcode
上一页
40
41
42
43
44
45
46
47
下一页
按字母分类:
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
其他