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
hot100
LeetCode
Hot100
【二分法-153. 寻找旋转排序数组中的最小值】
题目:153.寻找旋转排序数组中的最小值代码实现classSolution{public://查找旋转排序数组中的最小值intfindMin(vector&nums){intleft=0,right=nums.size()-1;//定义左右边界while(leftnums[right]=2,说明最小值在右半部分,更新left=mid+1=4。第二次循环:mid=(4+6)/2=5,对应元素nums
_Yeps
·
2025-03-29 00:26
leetcode
算法
排序算法
【
hot100
】刷题记录(54)-N皇后
题目描述:按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数n,返回所有不同的n皇后问题的解决方案。每一种解法包含一个不同的n皇后问题的棋子放置方案,该方案中'Q'和'.'分别代表了皇后和空位。示例1:输入:n=4输出:[[".Q..","...Q","Q...","..Q."
捞鱼哲学家
·
2025-03-28 12:01
算法
数据结构
leetcode
python
javascript 力扣leetcode
hot100
题解
1、两数之和点评:最初的梦想vartwoSum=function(nums,target){letmap=newMap();letresult=[];for(leti=0;ia-b);letlen=1;letmax=1;letdp=nums[0];for(leti=1;ia-b);letresult=[];for(leti=0;iheight[st[st.length-1]]){//注意这里是wh
大踩踩
·
2025-03-27 21:17
javascript
leetcode
开发语言
Hot 100总结(1-10)
Hot100
总结(逐行注释版)哈希篇1.两数之和用哈希表优化classSolution{publicint[]twoSum(int[]nums,inttarget){//new一个哈希表,键为数组值,值为索引
weixin_51675784
·
2025-03-27 15:03
java力扣算法
算法
数据结构
leetcode
java
柱状图中最大的矩形 -
hot100
题目:代码(首刷看解析2024年3月9日):classSolution{public:intlargestRectangleArea(vector&heights){intresult=0;vectorst;//存放柱子下标heights.insert(heights.begin(),0);//哨兵heights.push_back(0);//哨兵for(inti=0;i&heights){int
meeiuliuus
·
2025-03-25 23:37
#
leetcode
---
hard
算法
leetcode
hot100
反转链表
#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defreverseList(self,head:Optional[ListNode])->Optional[ListNode]:prev=Nonecu
chenziang1
·
2025-03-25 23:04
leetcode
链表
算法
leetcode
hot100
合并k个升序链表
代码测试用例测试用例测试结果23.合并K个升序链表已解答困难相关标签相关企业给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。1->1->2->
chenziang1
·
2025-03-25 23:34
leetcode
链表
算法
Leetcode
Hot100
|84. 柱状图中最大的矩形 Python
这题目挺难的,尽管知道是在考察单调栈,但没看题解前也没做出来。主要是要想清楚一个东西,我们是在对不同的高度搜索,也就是针对每个特定的高度进行宽度扩展,而这个扩展的过程正好符合单调栈的特性。同时,这个题还有很多边界情况需要考虑,为了回避,我们引用了哨兵,让代码大大简化。带有注释的代码如下。classSolution(object):deflargestRectangleArea(self,heigh
FFHow
·
2025-03-25 23:03
Algorithm
leetcode
算法
leetcode
hot100
柱状图中的最大矩形
84.柱状图中最大的矩形给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。求在该柱状图中,能够勾勒出来的矩形的最大面积。classSolution:deflargestRectangleArea(self,heights:List[int])->int:#可以肯定的是,最终的那个图形,肯定是包含某个矩形的上边的#所以我们只要找出每个矩形的,以他自己为上边的大矩形的最大
chenziang1
·
2025-03-25 23:01
leetcode
算法
职场和发展
LeetCode
Hot100
【回溯-39. 组合总和】
题目:39.组合总和代码实现classSolution{public:vector>result;//存储所有满足条件的组合vectorpath;//当前正在构建的组合//回溯函数:尝试从当前数字开始组合voidbacktracking(vector&candidates,inttarget,intsum,intstartIndex){if(sum>target)return;//当前和大于目标,
_Yeps
·
2025-03-25 22:58
LeetCode
Hot100【个人学习】
leetcode
算法
职场和发展
用ACM模式模板刷
hot100
面试手撕给的模板基础上写给的模板一般是下面这样把while内容删除(一般刷
hot100
题目输入不需要同时输入几组)第一个方法里写处理输入输出自己再写一个方法,就是力扣里的核心代码(加上static)第一个处理输入输出的方法里面调用第二块的方法
boguboji
·
2025-03-24 16:37
java
力扣
hot100
:15.轮转数组
题目描述第一次:纯暴力复杂度太高:O(N^2),未通过测试classSolution{publicvoidrotate(int[]arr,intk){for(inti=0;i0;j--){arr[j]=arr[j-1];}arr[0]=flag;}}}第二次:反转三次复杂度降低:O(N),通过测试classSolution{publicvoidrotate(int[]arr,intk){if(ar
star-yp
·
2025-03-22 23:18
力扣hot100
leetcode
算法
java
日常记录
栈 力扣
hot100
热门面试算法题 面试基础 核心思路 背题 滑动窗口最大值 字符串解码 每日温度 柱状图中最大矩形 有效的括号 最小栈
栈栈的核心思路:每个数都要进栈or队列,但是要及时维护栈or队列,当某元素没有存在的意义时就删掉,关键是思考栈尾什么时候有用与没用。滑动窗口最大值https://leetcode.cn/problems/sliding-window-maximum/题解链接https://leetcode.cn/problems/sliding-window-maximum/solutions/3067170/d
尘土哥
·
2025-03-22 20:26
算法
leetcode
面试
【
hot100
】刷题记录(46)-下一个排列
题目描述:整数数组的一个排列就是将其所有成员以序列或线性顺序排列。例如,arr=[1,2,3],以下这些都可以视作arr的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。整数数组的下一个排列是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的下一个排列就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的
捞鱼哲学家
·
2025-03-21 18:32
算法
数据结构
leetcode
python
力扣
Hot100
——136. 只出现一次的数字
难点在于时间与空间复杂度的要求,一般遇到这样的限制,就要考虑使用位运算,位运算效率最高了。异或当且仅当两个输入值不同时,异或运算输出为真(1),否则输出为假(0),即“同为0,异为1”。这是针对二进制运算的规则,整数进行异或运算,需要转换为二进制,一样遵循这个运算规则。异或的运算律:交换律:p⊕q=q⊕p结合律:p⊕(q⊕r)=(p⊕q)⊕r恒等律:p⊕0=p归零律:p⊕p=0对合运算:p⊕q⊕q
飞奔的马里奥
·
2025-03-20 16:26
leetcode
算法
职场和发展
力扣
hot100
——283.移动零
283.移动零给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。示例1:输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0]示例2:输入:nums=[0]输出:[0]题解:对于此题可以从反方向来思考,需要将所有的零找出来则我们可以找出所有非零数,再将零添加到数组的末尾。题目要求在数组原地进行
码凡
·
2025-03-20 05:26
算法
leetcode
力扣
hot100
——49.字母异位词分组
49.字母异位词分组给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=["eat","tea","tan","ate","nat","bat"]输出:[["bat"],["nat","tan"],["ate","eat","tea"]]示例2:输入:strs=[""]输出:[[""]]示例3:
码凡
·
2025-03-20 05:56
leetcode
算法
力扣算法
Hot100
——75. 颜色分类
解法1:当然可以冒泡排序,时间复杂度O(n2n^2n2)解法2:单指针循环两次,第一次循环将所有的0交换到前面;第二次循环将所有的1交换到0的后面classSolution{publicvoidsortColorsBySinglePointer(int[]nums){intzeroCnt=0,p=0;for(inti=0;i
飞奔的马里奥
·
2025-03-20 05:54
算法
leetcode
java
链表 力扣
hot100
热门面试算法题 面试基础 核心思路 背题 LRU 合成K个升序链表 环形链表II 合成两个有序链表 两数相加 删除链表的倒数第N个节点 两两交换链表中的节点 K个一组反转链表等
链表一定要有模版思想,特别是反转链表,直接记住。相交链表https://leetcode.cn/problems/intersection-of-two-linked-lists/核心思路设第一个公共节点为node,headA的节点数量为a,headB的节点数量为b,两链表的公共尾部的节点数量为c,则有:头节点headA到node前,共有a−c个节点;头节点headB到node前,共有b−c个节点
尘土哥
·
2025-03-18 13:37
算法
链表
leetcode
HOT100
——栈篇Leetcode739. 每日温度
文章目录题目:Leetcode160.相交链表原题链接思路代码题目:Leetcode160.相交链表给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。原题链接每日温度思路寻找任一个元素的右边第一个比自己大的元素的位置,此时就可以使用单调栈当前元素a[
闪电麦昆️
·
2025-03-15 23:07
HOT100
Leetcode
leetcode
c++
单调栈
HOT100
——链表篇Leetcode234. 回文链表
文章目录题目:Leetcode160.相交链表原题链接思路代码题目:Leetcode160.相交链表给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。回文是向前和向后读都相同的原题链接回文链表思路将链表中的值全部放入一个vector中我们再对vector进行一个回文判断两个指针left和right指向头尾,判断是否是回文代码
闪电麦昆️
·
2025-03-15 23:07
HOT100
Leetcode
链表
数据结构
c++
Leetcode
Hot100
第40题 297.二叉树的序列化和反序列化
/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode(intx):val(x),left(NULL),right(NULL){}*};*/classCodec{public:intindex;//Encodesatreetoasinglestring.str
onlyzzr
·
2025-03-15 08:12
暑期实习刷题记录
leetcode
深度优先
算法
leetcode
hot100
【LeetCode 146. LRU缓存】java实现
LeetCode146.LRU缓存题目描述设计和实现一个LRU(LeastRecentlyUsed)缓存机制。它应该支持以下操作:get(key):如果缓存中存在key,则返回value,否则返回-1。put(key,value):如果缓存已满,移除最久未使用的项,然后插入新的key-value对。如果key已存在,则更新其value。Java实现解法解法:使用哈希表和双向链表importjava
DataCrafter
·
2025-03-14 09:54
LeetCode
Hot100
leetcode
缓存
java
链表
LeetCode
Hot100
LRU缓存
请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intkey,intvalue)如果关键字key已经存在,则变更其数据值value;如果不存在,则向缓存中插入该组k
m0_67582670
·
2025-03-14 09:23
leetcode
leetcode
缓存
c++
力扣 Hot 100 刷题记录 - 二叉树的中序遍历
力扣
Hot100
刷题记录-二叉树的中序遍历题目描述二叉树的中序遍历是力扣
Hot100
中的一道经典题目,题目要求如下:给定一个二叉树的根节点root,返回它的中序遍历结果。
a李兆洋
·
2025-03-14 05:24
leetcode
算法
职场和发展
小白力扣 Hot 100 刷题记录 - 三数之和
力扣
Hot100
刷题记录-三数之和题目描述给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!
a李兆洋
·
2025-03-14 05:54
leetcode
哈希算法
算法
力扣
hot100
——LRU缓存(面试高频考题)
请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intkey,intvalue)如果关键字key已经存在,则变更其数据值value;如果不存在,则向缓存中插入该组k
01_
·
2025-03-14 05:23
力扣hot100
leetcode
缓存
面试
LRU
【力扣
hot100
】刷题笔记Day13
前言元宵节快乐~周六在图书馆快乐刷题!继续二叉树543.二叉树的直径-力扣(LeetCode)递归后序classSolution:defdiameterOfBinaryTree(self,root:Optional[TreeNode])->int:self.res=0#记录最长路径#递归求最大深度defdepth(node):ifnotnode:return0l=depth(node.left)#
小涛44
·
2025-03-12 02:21
力扣hot100刷题笔记
leetcode
笔记
算法
职场和发展
数据结构
python
力扣
hot100
二刷——哈希、双指针、滑动窗口
第二次刷题不在idea写代码,而是直接在leetcode网站上写,“逼”自己掌握常用的函数。标志掌握程度解释办法⭐Fully完全掌握看到题目就有思路,编程也很流利⭐⭐Basically基本掌握需要稍作思考,或者看到提示方法后能解答⭐⭐⭐Slightly稍微掌握需要看之前写过的代码才能想起怎么做多做⭐⭐⭐⭐absolutelyno完全没有掌握需要看题解才知道怎么做背⭐⭐⭐⭐⭐有难度的高频题需要看题解
钢板兽
·
2025-03-11 03:44
手撕算法
leetcode
哈希算法
算法
面试
leetcode
hot100
二叉树
8️⃣二叉树94.二叉树的中序遍历题解:递归即可publicListinorderTraversal(TreeNoderoot){Listres=newArrayListres){if(root==null){return;}reverse(root.left,res);res.add(root.val);reverse(root.right,res);}104.二叉树的最大深度题解:递归计算深度
yadanuof
·
2025-03-10 15:16
yy的刷题之路
java
b树
LeetCode
Hot100
刷题——反转链表(迭代+递归)
206.反转链表给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head=[1,2]输出:[2,1]示例3:输入:head=[]输出:[]提示:链表中节点的数目范围是[0,5000]-50002->3->4->5->null,反转后变成null<-1<-2<-3<-4<-5。那在迭代的时候,初始状
圈圈编码
·
2025-03-10 14:06
leetcode
链表
算法
leetcode
hot100
图论
9️⃣图论200.岛屿数量给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。题解:二维数组,遍历遇到当前值为1的,岛屿数加一,然后进行岛屿治理–dfs深度遍历当前值所在的岛屿,将该岛屿所在的其他值全部置为’2’,那么继续遍历时就不会重复计算cla
yadanuof
·
2025-03-10 14:06
yy的刷题之路
leetcode
图论
深度优先
【力扣
Hot100
】543.二叉树的直径
题目:二叉树的直径分析:还记不记得如何求二叉树的最大深度,那么如何求穿过根节点的直径,很显然答案就是将左子树的最大深度+右子树的最大深度;但是题目中要求最大直径,也就是说最大直径路径不一定是穿过根节点的,所以要设置一个变量max,用来记录所有的子树的直径,然后更新最大值。思路:设置一个全局变量max;对root进行求最大深度,调用下maxDeepth方法;越过叶子节点,返回0;计算左子树最大深度l
Data跳动
·
2025-03-07 04:18
力扣Hot100
二叉树
算法
数据结构
java
leetcode
【
hot100
】994腐烂的橘子
一、思路1.暂时没看官方题解,采用了一种比较笨的方法,就是每次循环都判定一下是否有节点上下左右范围内有腐烂节点的,如果有则进行一轮腐蚀,最终停止后再用另一个检查函数来检查整个图中是否有新鲜节点。2.其中腐蚀过程中需要采用辅助数组,避免多次传递腐蚀,然后腐蚀判定的时候记得加上边界判定,越界了则不执行腐蚀。(i>0&&grid[i-1][j]==1)由于且需要同时成立,所以如果不满足前面的边界条件就不
鱼力舟
·
2025-03-06 04:45
HOT100
java
算法
数据结构
【
hot100
】200岛屿数量
一、思路最外层两层遍历,目的是访问图中所有点位,然后在碰到为1的点位,即是陆地的点位采用dfs上下左右进行搜索,将整个岛屿全部置为0,然后搜索下一个点位。二、记忆注意深搜的终止条件判断if(r=nr||c=nc||grid[r][c]=='0')return;三、代码publicintnumIslands(char[][]grid){if(grid==null||grid.length==0)re
鱼力舟
·
2025-03-06 04:45
HOT100
深度优先
算法
LeetCode
Hot100
二叉树的层序遍历
给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例2:输入:root=[1]输出:[[1]]示例3:输入:root=[]输出:[]思路先入先出,用队列保存每层的节点,用保存的节点访问下一层。代码vector>levelOrder(TreeNod
m0_67582670
·
2025-03-06 04:12
leetcode
leetcode
算法
职场和发展
【
hot100
】102二叉树的层序遍历
一、思路经典队列应用,将根节点入队,然后每出队一个节点再把其子节点加入队列二、记忆1.Queue和Deque的联系和区别Queuequeue=newLinkedList();和Dequelist=newLinkedList();虽然都基于LinkedList实现,但它们的接口类型不同,导致可用的操作和行为不同。以下是具体区别:1.接口定义与设计目的类型接口功能设计场景Queue表示标准的先进先出(
鱼力舟
·
2025-03-06 04:09
HOT100
windows
刷题记录
HOT100
图论-1:200. 岛屿数量
题目:200.岛屿数量难度:中等给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例1:输入:grid=[["1","1","1","1","0"],["1","1","0","1","0"],["1","1","0","0","0"],["0
威尔逊。
·
2025-03-04 16:47
刷题笔记
HOT100
图论
leetcode
算法
数据结构
笔记
深度优先
广度优先
力扣
hot100
—— 寻找重复数(快慢指针法)
给定一个包含n+1个整数的数组nums,其数字都在[1,n]范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有一个重复的整数,返回这个重复的数。你设计的解决方案必须不修改数组nums且只用常量级O(1)的额外空间。解题思路://把数组索引为0的元素当成链表的头节点//索引为0的元素的值为1,表示头节点的下一个节点的索引为1,即数组中的3//再下一个节点的索引为3,即为第一个2//再
01_
·
2025-03-03 13:50
力扣hot100
leetcode
算法
数据结构
快慢指针
【力扣
Hot100
】128. 最长连续序列:哈希集合高效解法
题目描述给定一个未排序的整数数组nums,找出其中最长连续子序列的长度。要求时间复杂度为O(n)。示例输入:nums=[100,4,200,1,3,2]输出:4解释:最长连续序列是[1,2,3,4],长度为4。思路分析核心思路是利用哈希集合存储所有元素,遍历每个元素时,仅检查其是否为连续序列的左边界(即不存在比它小1的元素)。若是左边界,则向右扩展,统计连续序列的长度。此方法确保每个元素最多被访问
小付爱coding
·
2025-02-28 19:26
力扣Hot100
leetcode
哈希算法
算法
【力扣
Hot100
】11. 盛最多水的容器
1、题目链接11.盛最多水的容器2、题目描述给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组[1,8,6,2,5,4,8,3,7]。
小付爱coding
·
2025-02-28 19:26
力扣Hot100
leetcode
算法
职场和发展
两天速通力扣
HOT100
[DAY2] (55~100)
两天速通力扣
HOT100
[DAY2](55~100)本题解旨在以最简单的语言总结
hot100
各题思路,为每一题提供一个思考入口,但想要手撕出来,需要自己认真推理细节。
WynnLu
·
2025-02-27 21:29
算法
leetcode
c++
力扣
hot100
——排序数组中查找元素出现的第一个位置和最后一个位置
给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。解题思路://二分查找划分左右俩边找//当找到后,左边继续向左边搜,不断更新找到位置就是左边界//同理,右边就是继续向右找,找到右边界classSolution{p
01_
·
2025-02-27 03:12
力扣hot100
leetcode
算法
数据结构
刷题记录4---二叉树的中序遍历+对称二叉树+二叉树的最大深度+翻转二叉树+二叉树的直径
前言所有题目均来自力扣题库中的
hot100
,之所以要记录在这里,只是方便后续复习94.二叉树的中序遍历题目:给定一个二叉树的根节点root,返回它的中序遍历。
热巴的小哥哥
·
2025-02-26 06:59
算法和数据结构
数据结构
算法
力扣
hot100
——分割回文子串 + 回溯算法总结(算法代码模板)
给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。解法思路:切割一个a之后,在ab中再去切割第二段.....classSolution{public:vector>res;//最终结果vectorpath;//当前结果vector>partition(strings){backtracking(s,0);returnres;}voidbacktracking
01_
·
2025-02-25 23:13
力扣hot100
算法
leetcode
回溯算法
Hot100
栈
20.有效的括号-力扣(LeetCode)左括号入栈右括号匹配上peek就出栈不匹配报错最后栈不为空报错classSolution{publicbooleanisValid(Strings){Stackstack=newStackstack;privateStackmin_stack;publicMinStack(){stack=newStack();}//push()方法:每当push()新值进
Coco_9264
·
2025-02-24 11:58
算法
Hot100
动态规划
动态规划动规五部曲:确定dp数组以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组70.爬楼梯-力扣(LeetCode)爬到第一层楼梯有一种方法,爬到二层楼梯有两种方法。那么第一层楼梯再跨两步就到第三层,第二层楼梯再跨一步就到第三层。所以到第三层楼梯的状态可以由第二层楼梯和到第一层楼梯状态推导出来,那么就可以想到动态规划了。我们来分析一下,动规五部曲:定义一个一维数组来记录不
Coco_9264
·
2025-02-24 11:58
动态规划
算法
Hot100
之贪心算法
121买股票的最佳时机题目思路解析有两种解法,DP和维护第i天最小值维护第i天前的最小值从左到右枚举卖出价格prices[i那么要想获得最大利润,我们需要知道第i天之前股票价格的最小值是什么也就是从prices[0]到prices[i−1]的最小值,把它作为买入价格,这可以用一个变量minPrice维护。请注意,minPrice维护的是prices[i]左侧元素的最小值。由于只能买卖一次,所以在遍
LUCIAZZZ
·
2025-02-24 10:21
#
Hot100
贪心算法
算法
leetcode
数据结构
Hot100
贪心算法
如果非要说这些题的共性,也许就是:在边界内不断寻找最优解121.买卖股票的最佳时机-力扣(LeetCode)总结一下思路就是:如果第i天卖出股票,则最大利润为(该天的股价-前面天数中最小的股价),然后与已知的最大利润比较,如果大于则更新当前最大利润的值。分享|股票问题系列通解(转载翻译)-力扣(LeetCode)53.最大子数组和-力扣(LeetCode)55.跳跃游戏-力扣(LeetCode)使
Coco_9264
·
2025-02-24 10:18
贪心算法
算法
力扣
hot100
——排序链表(常见方法,归并排序)
解题思路:分解(Divide):将待排序的列表递归地分成两半,直到每个子列表只包含一个元素(此时每个子列表都是有序的)。解决(Conquer):递归地对每个子列表进行排序。由于每个子列表在分解过程中最终只包含一个元素,因此它们自然是有序的。排序的过程实际上是合并的过程。合并(Combine):将两个有序的子列表合并成一个有序的列表。步骤递归分解:如果列表的长度为1或0,则直接返回该列表(因为它已经
01_
·
2025-02-24 00:09
力扣hot100
leetcode
链表
算法
归并排序
上一页
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
其他