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
【单调栈】
单调队列与
单调栈
(集训day2)
一、目录1、单调队列2、
单调栈
二、正文1.
单调栈
题型:(1)给出一个数组找出其中每个数左边第一个比它小(大)的数字830.
单调栈
-AcWing题库(2)求直方图中最大的矩形(找出每个数左边和右边第一个比它小的数字
Saber—Lily
·
2024-09-09 19:02
集训
算法
【
单调栈
】|代码随想录算法训练营第41天|739. 每日温度、 496.下一个更大元素 I、503.下一个更大元素II
刷题神器代码随想录往期回顾>【回溯算法】|代码随想录算法训练营第22天|491.递增子序列、46.全排列、47.全排列II、【总结】题目739.每日温度题目:题目链接文章:文章讲解视频:视频讲解学后思路使用
单调栈
解决
toolhow
·
2024-09-05 17:25
数据结构与算法
算法
力扣题解
单调栈
739.每日温度通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用
单调栈
了。
RL-UAV
·
2024-09-04 17:27
C++刷题
leetcode
算法
数据结构
Leetcode--Java--316. 去除重复字母
样例描述示例1:输入:s="bcabc"输出:"abc"示例2:输入:s="cbacdcbc"输出:"acdb"思路贪心+
单调栈
思想用一个字符串来记录答案,每次判断答案的最后一个字符是否大于原串当前字符
前滩卷王
·
2024-08-31 14:31
Leetcode
贪心
栈思想
Leetcode42接雨水(
单调栈
)
题目题目链接解法一求出前缀最大和后缀最大,用两者较小值减去当前高度,累加即可,这个思路容易想到,这里不赘述classSolution{public:inttrap(vector&height){vectorpreMx(height.size()),postMx(height.size());intmx=0;for(inti=0;i=0;i--){postMx[i]=mx;mx=max(mx,hei
我的Doraemon
·
2024-08-29 08:35
Leetcode刷题
算法
洛谷 P2947 [USACO09MAR] Look Up S (Java)
洛谷P2947[USACO09MAR]LookUpS
单调栈
(Java)传送门:P2947[USACO09MAR]LookUpS题目:[USACO09MAR]LookUpS题目描述FarmerJohn’sN
Keven__Java
·
2024-08-29 05:46
算法题
java
开发语言
算法
数据结构
ide
单调栈
LeetCode 1130. 叶值的最小代价生成树
目录一、题目1、题目描述2、输入输出2.1输入2.2输出3、原题链接二、解题报告1、思路分析2、复杂度3、代码详解一、题目1、题目描述给你一个正整数数组arr,考虑所有满足以下条件的二叉树:每个节点都有0个或是2个子节点。数组arr中的值与树的中序遍历中每个叶节点的值一一对应。每个非叶节点的值等于其左子树和右子树中叶节点的最大值的乘积。在所有这样的二叉树中,返回每个非叶节点的值的最小可能总和。这个
EQUINOX1
·
2024-08-27 11:35
OJ刷题解题报告
leetcode
算法
动态规划
代码随想录算法训练营Day50||图论part01
昨天的题补完啦~最后熟悉了一下
单调栈
。今天开始没视频看了,只能啃文字了。先熟悉一些图论基础,以及搜索理论基础。深度优先搜索理论基础类似于回溯算法(递归法),广度优先搜索就类似于迭代法。
傲世尊
·
2024-08-25 15:22
算法
图论
【算法分析与设计】去除重复字母
示例示例1:输入:s="bcabc"输出:"abc"示例2:输入:s="cbacdcbc"输出:"acdb"思路贪心+
单调栈
实现【字符串删除一个字符使其字典序最小的贪心策略】:对于两个长度相同的字符串,
五敷有你
·
2024-03-29 12:16
算法分析与设计
java
javascript
开发语言
算法
数据结构
Day 59
单调栈
:503. 下一个更大元素 II, 42. 接雨水,407. 接雨水 II,11. 盛最多水的容器, 84. 柱状图中最大的矩形
503.下一个更大元素II思路example循环数组[1,2,1,1,2,1]遍历两倍大小的数组(取模运算),按照常规数组操作,最后返回sizen的结果数组即可。可能会有重复操作,但是方便。复杂度.时间:O(n),空间:O(n)classSolution:defnextGreaterElements(self,nums:List[int])->List[int]:n=len(nums)res=[-
哄哄_69b9
·
2024-02-29 04:37
单调栈
C++(Acwing)
代码:#includeusingnamespacestd;constintN=100010;intn;intskt[N],tt;intmain(){cin.tie(0);cin>>n;for(inti=0;i>x;while(tt&&stk[tt]>=x)tt--;//如果栈顶大于x就删掉,直到找到小于x的元素if(tt)cout<
shady1972
·
2024-02-20 18:50
c++
数据结构
算法
Leetcode 42. 接雨水
h*w解题思路:1.横向求解这里的
单调栈
采用的是横向求解。
庄园特聘拆椅狂魔
·
2024-02-20 12:30
刷题训练营
leetcode
算法
数据结构
LeetCode42.接雨水(
单调栈
)
题目给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例:输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1]表示的高度图。在这种情况下,可以接6个单位的雨水(蓝色部分表示雨水)。思路:从题目中我们可以知道:只有凹陷的地方才可以存储雨水,那么高度一定是先减后增,所
Stephen_Curry___
·
2024-02-20 12:33
算法
c++
数据结构
leetcode
【LeetCode每日一题】
单调栈
581. 最短无序连续子数组
581.最短无序连续子数组给你一个整数数组nums,你需要找出一个连续子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的最短子数组,并输出它的长度。示例1:输入:nums=[2,6,4,8,10,9,15]输出:5解释:你只需要对[6,4,8,10,9]进行升序排序,那么整个表都会变为升序排序。示例2:输入:nums=[1,2,3,4]输出:0示例3:输入:nu
凭栏听雨客
·
2024-02-20 05:52
#
LeetCode刻意练习
数据结构与算法之美
leetcode
算法
职场和发展
移掉K位数字(贪心
单调栈
)
题目:跳转至402.移掉K位数字给定一个以字符串表示的非负整数num,移除这个数中的k位数字,使得剩下的数字最小。注意:num的长度小于10002且≥k。num不会包含任何前导零。示例1:输入:num=“1432219”,k=3输出:“1219”解释:移除掉三个数字4,3,和2形成一个新的最小的数字1219。示例2:输入:num=“10200”,k=1输出:“200”解释:移掉首位的1剩下的数字为
七七不是七七七七
·
2024-02-20 05:21
leetcode每日一题
c++
leetcode
移掉K位数字(
单调栈
)
Leetcode每日一题题目链接:402.移掉K位数字难度:中等解题思路:维护一个
单调栈
,存储比栈顶节点还小的值。比栈顶节点大的前k个值需要抛弃。最终的结果即为答案(注意需要去掉前导0)。
YancyKahn
·
2024-02-20 05:51
Leetcode
leetcode
栈
stack
数据结构
【LeetCode每日一题】
单调栈
402 移掉k位数字
402.移掉K位数字给你一个以字符串表示的非负整数num和一个整数k,移除这个数中的k**位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。示例1:输入:num="1432219",k=3输出:"1219"解释:移除掉三个数字4,3,和2形成一个新的最小的数字1219。如果有m+1位数字,S1a0a1a2....ama_0a_1a_2....a_ma0a1a2....am需要去掉n位
凭栏听雨客
·
2024-02-20 05:20
#
LeetCode刻意练习
前端语言知识点
leetcode
算法
单调栈
题目总结
单调栈
496.下一个更大元素I503.下一个更大元素II739.每日温度6227.下一个更大元素IV模版归纳「
单调栈
」顾名思义就是具有单调性的栈结构,一般常用于找到下一个更大的元素,即当前元素右侧第一个更大的元素看下面一个例子
&orange
·
2024-02-19 23:32
leetcode
算法
蓝桥杯每日一题----
单调栈
和单调队列
单调栈
和单调队列
单调栈
单调栈
即栈内的元素是单调递减或者单调递增的,我们通过一个题目来理解。
单调栈
模板题题目描述给出项数为n的整数数列a1…ana_1…a_na1…an。
小西yu
·
2024-02-19 22:26
蓝桥杯
算法
【LeetCode每日一题】
单调栈
901股票价格跨度
901.股票价格跨度思路设计一个算法收集某些股票的每日报价,并返回该股票当日价格的跨度。当日股票价格的跨度被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。例如,如果未来7天股票的价格是[100,80,60,70,60,75,85],那么股票跨度将是[1,1,1,2,1,4,6]。实现StockSpanner类:StockSpanner()初始化类对象。intnext
凭栏听雨客
·
2024-02-19 11:39
#
LeetCode刻意练习
leetcode
算法
javascript
LeetCode 239.滑动窗口的最大值 Hot100
单调栈
给你一个整数数组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-3]5367313[-
Daydreaming Kid
·
2024-02-19 10:22
Leetcode刷题之路
算法
leetcode
算法
java
Day50-
单调栈
part01
一、每日温度题目一:739.每日温度739.每日温度给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替如果明天的温度比今天高,那么栈顶的元素就可以出栈。栈内保存的是索引,栈顶的元素是当前未被高温度覆盖的最近的一天。classSolution{publi
小丸子_daydayup
·
2024-02-15 09:19
代码随想录算法训练营
算法
数据结构
leetcode
大厂算法面试之leetcode精讲10.递归&分治
分治视频教程(高效学习):点击学习目录:1.开篇介绍2.时间空间复杂度3.动态规划4.贪心5.二分查找6.深度优先&广度优先7.双指针8.滑动窗口9.位运算10.递归&分治11剪枝&回溯12.堆13.
单调栈
全栈潇晨
·
2024-02-14 15:29
股票价格跨度【中等,
单调栈
】
文章目录前言LeetCode、901.股票价格跨度【中等,
单调栈
】题目链接及分类思路思路1:暴力思路2:
单调栈
写法优化:
单调栈
简化写法(数组替代栈集合)资料获取前言博主介绍:✌目前全网粉丝2W+,csdn
长路 ㅤ
·
2024-02-14 12:41
算法刷题
#
LeetCode
leetcode
算法
职场和发展
leetcode739.每日温度(中等)
思路一:看到下一个更大->想到
单调栈
O(n)classSolution{public:vectordailyTemperatures(vector&temperatures){//单调递减栈:左边大于等于右边大于
重you小垃
·
2024-02-14 06:33
#
栈&单调栈
leetcode739
每日温度
【leetcode】
单调栈
- 739. 每日温度(中等)
目录题目思路一-暴力遍历思路二-
单调栈
题目给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指在第i天之后,才会有更高的温度。
码农研究僧
·
2024-02-14 06:32
算法
leetcode
算法
[leetcode 中等
单调栈
]739. 每日温度
题目描述请根据每日气温列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0来代替。例如,给定一个列表temperatures=[73,74,75,71,69,72,76,73],你的输出应该是[1,1,4,2,1,1,0,0]。提示:气温列表长度的范围是[1,30000]。每个气温的值的均为华氏度,都是在[30,100]范围
barbaraaa:D
·
2024-02-14 06:32
leetcode
0
单调栈
中等 LeetCode739. 每日温度 NC208 每日温度
temperatures=[73,74,75,71,69,72,76,73]输出:[1,1,4,2,1,1,0,0]分析一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用
单调栈
了找右边
18阿鲁
·
2024-02-14 06:02
leetcode
算法
职场和发展
每日温度(中等 栈
单调栈
数组)
剑指OfferII038.每日温度请根据每日气温列表temperatures,重新生成一个列表,要求其对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0来代替。示例1:输入:temperatures=[73,74,75,71,69,72,76,73]输出:[1,1,4,2,1,1,0,0]示例2:输入:temperatures=[30,40,50
风雨中de宁静
·
2024-02-14 06:02
leetcode
算法
职场和发展
每日温度(C++)---
单调栈
解题
题目详情请根据每日气温列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0来代替。例如,给定一个列表temperatures=[73,74,75,71,69,72,76,73],你的输出应该是[1,1,4,2,1,1,0,0]。提示:气温列表长度的范围是[1,30000]。每个气温的值的均为华氏度,都是在[30,100]范围
重剑DS
·
2024-02-14 06:31
LeetCode-解题记录
栈
leetcode
C++
单调栈
单调栈
系列~LeetCode739.每日温度(中等)
实现思路:利用
单调栈
的思路求出元素的下一个更大元素。Stack用来存储数组下标。当前元素的值大于栈顶元素&&栈不为空->将栈顶元素(index)弹出,栈顶的值对应的元素的下一个更大的元素是当前元素。
Luke@
·
2024-02-14 06:31
单调栈
原创 【LeetCode】每日一题(十三)739.每日温度
单调栈
系列 下一个更大元素 柱状图中最大的矩形
单调栈
系列题目[739.每日温度](https://leetcode-cn.com/problems/daily-temperatures/)题目描述Solution[496.下一个更大元素I](https
_Evelyn_
·
2024-02-14 06:00
数据结构与算法
LeetCode
数据结构
java
算法
leetcode
栈
每日温度(
单调栈
)(中等,python)
题目:题目理解:对于气温列表中的每个元素,寻找大于当前元素的一个元素,计算两个元素之间的下标差,作为新的列表中当前元素的值。解题思路:本题我们利用单调递减栈进行求解:遍历气温列表,如果当前元素小于栈内的元素,就进行入栈当前元素对应的下标;否则,计算栈顶元素和当前元素对应的下标之间的差,保存在新的列表中。代码如下:classSolution:defdailyTemperatures(self,T):
circle_yy
·
2024-02-14 06:30
leetcode
每日温度【中等,
单调栈
】
文章目录前言LeetCode、739.每日温度【中等,
单调栈
】题目链接及分类思路
单调栈
资料获取前言博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、
长路 ㅤ
·
2024-02-14 06:29
算法刷题
#
LeetCode
leetcode
算法
职场和发展
2020年6月 leetcode每日一题 C语言版本
除自身以外数组的乘积5顺时针打印矩阵6最长连续序列哈希并查集7等式方程的可满足性并查集8把数字翻译成字符串动态规划9回文数转化为数组反转一半数字厉害10回文链表翻转链表+快慢指针翻转链表11每日温度暴力超时暴力不超时
单调栈
Churkina_洛
·
2024-02-13 01:42
leetcode题目记录
文章目录
单调栈
[127.单词接龙](https://leetcode.cn/problems/word-ladder/)[139.单词拆分](https://leetcode.cn/problems/word-break
&orange
·
2024-02-12 23:27
leetcode
算法
OI入门算法详解:含大量优质习题及题解!
文章目录单调队列
单调栈
拓展:区间问题的另一个常见解法——双指针优先队列链表分治ST表单调队列P2698题目描述,给定一些矩形,有横坐标x,高度h求一个最小的窗口,可以使得有一个窗口中的最大高度减最小高度
准确、系统、简洁地讲算法
·
2024-02-12 15:10
算法
数据结构
84. 柱状图中最大的矩形
单调栈
(与接雨水类似)思路关键:要想找到第i位置最大面积是什么?
Python ml
·
2024-02-12 10:58
LeetCode
算法
单调栈
【算法与数据结构】算法与数据结构知识点
算法和数据结构入门2.1时间复杂度2.2空间复杂度2.3基础排序算法2.3.1选择排序算法2.3.2冒泡排序算法三、数组3.1二分法查找法3.2双指针法四、链表理论五、哈希表理论五、栈和队列理论5.1
单调栈
六
晚安66
·
2024-02-11 07:52
算法
算法
【算法与数据结构】496、503、LeetCode下一个更大元素I II
单调栈
只需要O(
晚安66
·
2024-02-11 07:50
算法
算法
《剑指 Offer》专项突破版 - 面试题 38、39 和 40 : 通过三道面试题详解
单调栈
(C++ 实现)
目录面试题38:每日温度面试题39:直方图最大矩形面积方法一、暴力求解方法二、递归求解方法三、
单调栈
法面试题40:矩阵中的最大矩形面试题38:每日温度题目:输入一个数组,它的每个数字是某天的温度。
melonyzzZ
·
2024-02-11 02:11
数据结构
c++
开发语言
leetcode
算法
职场和发展
数据结构
面试
【Py/Java/C++三种语言OD2023C卷真题】20天拿下华为OD笔试之【
单调栈
】2023C-找朋友【欧弟算法】全网注释最详细分类最全的华为OD真题题解
有华为OD考试扣扣交流群可加:948025485可上全网独家的欧弟OJ系统练习华子OD、大厂真题绿色聊天软件戳od1336了解算法冲刺训练文章目录题目描述与示例**题目描述****输入描述****输出描述****示例一**输入输出**示例二**输入输出解题思路代码解法一PythonJavaC++解法二PythonJavaC++时空复杂度华为OD算法/大厂面试高频题算法练习冲刺训练题目描述与示例题目
闭着眼睛学算法
·
2024-02-10 23:58
最新华为OD真题
#
单调栈
java
c++
华为od
算法
python
leetcode
【Py/Java/C++三种语言OD2023C卷真题】20天拿下华为OD笔试【
单调栈
】2023C-找最小数【欧弟算法】全网注释最详细分类最全的华为OD真题题解
文章目录题目描述与示例题目描述输入输出示例一输入输出说明示例二输入输出示例三输入输出解题思路代码PythonJavaC++时空复杂度华为OD算法/大厂面试高频题算法练习冲刺训练题目描述与示例题目描述给一个正整数NUM1,计算出新正整数NUM2。NUM2为NUM1中移除N位数字后的结果,需要使得NUM2的值最小。输入输入的第一行为一个字符串,字符串由0-9字符组成,记录正整数NUM1,NUM1长度小
闭着眼睛学算法
·
2024-02-10 23:47
最新华为OD真题
#
单调栈
#
栈
java
c++
华为od
双指针和
单调栈
双指针用于解决一类基于子段的统计问题子段就是:数组中连续的一段可以用一个闭区间来表示数组中的连续一段这个方法核心就是优化:两种循环的枚举也就是枚举左端点l和右端点r的所有可能优化关键就是:去除枚举中的冗余部分具体优化策略固定右端点,看左端点的取值范围就是根据题意,把[j,i]范围中,j的这层循环去掉(j从0~i)移动一个端点,观察另一个断点变化就是滑动窗口,一个端点跟随另一个端点来移动双指针解决两
遨游的laugh哥
·
2024-02-10 03:32
c++算法刷题
c++
算法
力扣hot100 -- 双指针
目录移动零盛最多水的容器三数之和接雨水前缀和+辅助数组双指针
单调栈
移动零283.移动零-力扣(LeetCode)关于swap#include#include#includeintmain(){std::
千帐灯无此声
·
2024-02-09 18:40
#
力扣
hot
100
leetcode
算法
职场和发展
【算法】基础算法模板
1.二分的本质2.整数二分3.实数二分四、前缀和1.一维前缀和2.二维前缀和五、差分1.一维差分2.二维差分六、常用位运算1.求二进制的第k位2.lowbit七、其他常用算法1.去重2.表达式求值3.
单调栈
柳下敲代码
·
2024-02-09 16:36
算法
算法
数据结构
c++
排序算法
leetcode
算法学习打卡day47|
单调栈
系列题目
单调栈
题目思路通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用
单调栈
了。时间复杂度为O(n)。
涛涛begin
·
2024-02-09 00:43
算法学习打卡
算法
学习
【LeetCode力扣】
单调栈
解决Next Greater Number(下一个更大值)问题
目录1、题目介绍2、解题思路2.1、暴力破解法2.2、经典NextGreaterNumber问题解法1、题目介绍原题链接:496.下一个更大元素I-力扣(LeetCode)示例1:输入:nums1=[4,1,2],nums2=[1,3,4,2].输出:[-1,3,-1]解释:nums1中每个值的下一个更大元素如下所述:-4,用加粗斜体标识,nums2=[1,3,4,2]。不存在下一个更大元素,所以
Hacynn
·
2024-02-08 21:39
LeetCode刷题
leetcode
算法
笔记
java
intellij-idea
数据结构
单调栈
问题#柱状图#接雨水#每日温度
单调栈
的好处:及时去掉无用数据,保持栈内数据有序。
单调栈
就是在数组中寻找下个更大(更小)的元素(咱们记录到栈里的都是下标,因为下标有更好的映射关系)。
席万里
·
2024-02-08 15:18
C/C++备战蓝桥杯
算法
c++
数据结构
算法竞赛 常见算法数据结构总结
1.1基本数据结构1.数组2.链表,双向链表3.队列,单调队列,双端队列4.栈,
单调栈
1.2中级数据结构1.堆2.并查集与带权并查集3.hash表自然溢出双hash1.3高级数据结构1.树状数组2.线段树
AlanCong
·
2024-02-07 13:34
上一页
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
其他