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
单调栈&单调队列
使用
单调队列
解决 “滑动窗口最大值” 问题
在上一篇文章中,我们介绍了
单调栈
这种特殊的栈结构,
单调栈
是一种非常适合处理“下一个更大元素问题”的数据结构。今天,分享到
单调栈
的孪生兄弟——
单调队列
(MonotonicQueue)。
彭旭锐
·
2024-01-28 19:49
算法
数据结构
单调队列
滑动窗口问题 详解
题目来自于洛谷P1886滑动窗口/【模板】
单调队列
题目描述有一个长为nn的序列aa,以及一个大小为kk的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。
止戈为武20
·
2024-01-28 19:16
蓝桥杯
c++
算法
美丽塔 I [前后缀分解][
单调栈
]
题目思路将第i个元素作为山顶时,可以将山脉数组分为山顶左右两个部分。对于山顶左边部分,确保数组为非递减数组;对于山顶右边部分,确保数组为非递增数组。设山顶左边部分构成的非递减数组元素和的最大值为prefix[i],山顶右边部分构成的非递增数组元素和的最大值为suffix[i],则构成的山脉数组的高度和为prefix[i]+suffix[i]-maxHeight[i]。接下来,任务变成计算单调数组的
XMUJason
·
2024-01-28 11:59
Leetcode题解
leetcode
python
算法
【蓝桥备赛】四元组问题——
单调栈
题目链接四元组问题个人思路这个题目…真费脑子假设a,b,c,d对应的值分别是A,B,C,D总的来说,就是从前往后一个
单调栈
从大到小找A;从后往前,一个
单调栈
从大到小找D。具体看注释更清晰点!
lcx_defender
·
2024-01-28 07:21
#
蓝桥杯
蓝桥杯
算法
java
c++
单调栈
算法leetcode.42
publicinttrap(int[]height){intn=height.length;if(n==1)return0;//装满雨水后,整体变为一个类似阶梯的图形,求出阶梯体积,减去柱子体积即为答案intmax=0;//最大高度intsum=0;//所有柱子体积for(inti=0;ih)//遇到高于h的柱子,暂时停留border[h][0]=l;if(height[r]h)border[h]
路Louis
·
2024-01-28 03:25
算法总结
蓝桥杯
算法
java
单调栈
leetcode
1.27学习总结
今天做了些队列的题:1.逛画展(
单调队列
)2.打印队列PrinterQueue(优先队列)3.
啊这泪目了
·
2024-01-28 03:46
学习
Maximal Rectangle——
单调栈
文章目录一、题目二、题解一、题目Givenarowsxcolsbinarymatrixfilledwith0’sand1’s,findthelargestrectanglecontainingonly1’sandreturnitsarea.Example1:Input:matrix=[[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,
叶卡捷琳堡
·
2024-01-28 02:45
算法
数据结构
leetcode
c++
单调栈
Largest Rectangle in Histogram——
单调栈
文章目录一、题目二、题解一、题目Givenanarrayofintegersheightsrepresentingthehistogram’sbarheightwherethewidthofeachbaris1,returntheareaofthelargestrectangleinthehistogram.Example1:Input:heights=[2,1,5,6,2,3]Output:10
叶卡捷琳堡
·
2024-01-28 02:42
算法
数据结构
leetcode
c++
单调栈
代码随想录算法训练59 |
单调栈
part02
503.下一个更大元素II这道题和739.每日温度几乎如出一辙,可以自己尝试做一做代码随想录42.接雨水接雨水这道题目是面试中特别高频的一道题,也是
单调栈
应用的题目,大家好好做做。
纽北KING
·
2024-01-27 23:44
算法
算法训练营Day59(
单调栈
)
下一个更大元素II503.下一个更大元素II-力扣(LeetCode)最直接的方法,我自己写的。。classSolution{publicint[]nextGreaterElements(int[]nums){intlen=nums.length*2;int[]nums2=newint[len];for(inti=0;istatk=newLinkedListnums2[statk.peek()])
不吃青椒!
·
2024-01-27 19:51
算法
算法
leetcode
数据结构
算法训练营Day58(
单调栈
1)
说明
单调栈
适合寻找一个元素左边或右边第一个比自己大或小的元素其作用是用力存放之前遍历过的元素单调递减的栈是求比其小的元素单调递增的栈是求比其大的元素739.每日温度力扣(LeetCode)官网-全球极客挚爱的技术成长平台提醒今天正式开始
单调栈
Best,
·
2024-01-27 19:50
数据结构
算法训练营Day59(
单调栈
2)
503.下一个更大元素II力扣(LeetCode)官网-全球极客挚爱的技术成长平台提醒这道题和739.每日温度几乎如出一辙,可以自己尝试做一做classSolution:defnextGreaterElements(self,nums:List[int])->List[int]:dp=[-1]*len(nums)stack=[]foriinrange(len(nums)*2):while(len(
Best,
·
2024-01-27 19:49
算法
数据结构篇-01:
单调栈
单调栈
是栈的一种,可以使得每次新元素入栈后,栈内的元素都保持有序(单调递增或者单调递减)。
单调栈
的用途不太广泛,只处理一类典型的问题,比如[下一个更大元素]、[上一个更小元素]等。
爬楼梯的猫
·
2024-01-27 19:14
手把手带你刷力扣Hot100
数据结构
java
开发语言
单调栈
代码随想录算法训练营第13天(栈和队列3+总结篇 239. 滑动窗口最大值 | 347.前 K 个高频元素
本题算比较有难度的,需要自己去构造
单调队列
,建议先看视频来理解。题目链接:239.滑动窗口最大值文章讲解/视频讲解:239.滑动窗口最大值难点主要思想
芋泥肉松脑袋
·
2024-01-27 13:32
算法
java
数据结构
代码随想录算法训练营总结
做过了数组,链表,双指针,字符串,二叉树,回溯,贪心,动态规划,
单调栈
等类型的题目,在算法上的收获颇丰。学会了很多解算法题的技巧,比如递归三要素,动态规划五部曲。
Cedar~~
·
2024-01-27 11:24
算法
单调栈
第二天(还没写完)
503.下一个更大元素II力扣题目链接(opensnewwindow)给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字x的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。示例1:输入:[1,2,1]输出:[2,-1,2]解释:第一个1的下一个更大的数是2;数字2
Punk Boy
·
2024-01-27 07:25
算法
240.【2023年华为OD机试真题(C卷)】找朋友(
单调栈
-Java&Python&C++&JS实现)
点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握!文章目录一.题目-找朋友二.解题思路三.题解代码Python题解代码JAVA题解代码C/C++题解代码JS题解代码四.代码讲解(Java&Python&C++&JS分别讲解)
一见已难忘
·
2024-01-26 18:25
算法之翼—华为OD机试专栏
华为od
c语言
java
找朋友
python
javascript
代码随想录算法训练营第12天| Leetcode 239. 滑动窗口最大值、347.前 K 个高频元素
思路:本题算是
单调队列
的经典应用了,尤其是需要自己构造单
Camellia__Wang
·
2024-01-26 13:43
算法
leetcode
c++
单调栈
的应用,以及拆分思想
如果你想练习手写
单调栈
模版可以看看这篇文章
单调栈
模版-CSDN博客当然这篇文章里我会使用STL里的stack。试想一下,我们可以把题目中的数字具象化成一个个碗。
Colinnian
·
2024-01-26 09:52
题目讲解
个人力扣题目分类记录
目录思维模拟前缀和差分快速选择快排三分分治扫描线递归栈模拟栈
单调栈
哈希二分查找边界问题最大值最小值堆搜索回溯单纯回溯较复杂剪枝dfs回溯+状压构图bfs记忆化搜索回溯+dp·博弈问题(dp)BFS迭代复杂快速幂双指针绕弯题快慢指针题边界固定
零子若
·
2024-01-26 04:54
LeetCode
算法
leetcode
美丽塔 I,前后缀分离+
单调栈
如果以下条件满足,我们称这些塔是美丽的:1&maxHeights){}};3、原题链接2865.美丽塔I二、解题报告1、思路分析根据题意很容易想到
单调栈
,怎么处理呢?
EQUINOX1
·
2024-01-25 19:18
leetcode每日一题
算法
leetcode
数据结构
c++
职场和发展
数据结构算法(
单调栈
)
一.
单调栈
的定义
单调栈
本质上还是栈,表示的是一种特殊的数据结构,用来解决某类问题。
单调栈
,即存放在该栈中的元素是按照单调递增或单调递减的顺序存放。
郭天宇 abfore
·
2024-01-25 18:36
数据结构
java
开发语言
算法
kuangbin 专题二十三:二分 尺取
单调栈
队列 Pie
题目链接:传送门#include#include#include#include#includeusingnamespacestd;constintN=10010;//这里一定要注意精度,一开始我写了1e-6结果wa了constdoubleDIF=1e-8;constdoublePI=acos(-1.0);doubleans,pie[N];intt,n,f;intmain(){scanf("%d"
Qyif
·
2024-01-25 18:29
kaungbin刷题
算法
数据结构
c++
二分法
二分查找
Sum of Subarray Minimums——
单调栈
文章目录一、题目二、题解一、题目Givenanarrayofintegersarr,findthesumofmin(b),wherebrangesoverevery(contiguous)subarrayofarr.Sincetheanswermaybelarge,returntheanswermodulo109+7.Example1:Input:arr=[3,1,2,4]Output:17Exp
叶卡捷琳堡
·
2024-01-25 16:24
算法
数据结构
leetcode
c++
[M枚举] lc2865. 美丽塔 I(枚举+前后缀分解+题单)
文章目录1.题目来源2.题目解析1.题目来源链接:2865.美丽塔I相似题目:链接:2866.美丽塔II题单:前后缀分解+
单调栈
(附题单!)
Ypuyu
·
2024-01-25 09:55
LeetCode
数据结构
[M
单调栈
] lc2866. 美丽塔 II(
单调栈
+前后缀分解+经典好题+题单)
文章目录1.题目来源2.题目解析1.题目来源链接:2866.美丽塔II关联:关联博文:[M枚举]lc2865.美丽塔I(枚举+前后缀分解+题单)超高质量题解:[Java/Python3/C++]前后缀和+
单调栈
Ypuyu
·
2024-01-25 09:20
LeetCode
算法
2024.1.24力扣每日一题——美丽塔I
2024.1.24题目来源我的题解方法一暴力枚举方法二
单调栈
+前、后缀和题目来源力扣每日一题;题序:2865我的题解方法一暴力枚举将每个位置都作为山峰来进行遍历,计算每个山峰下的最大山脉数组和时间复杂度
菜菜的小彭
·
2024-01-25 07:01
java
力扣每日一题
leetcode
python
算法
java
[力扣 Hot100]Day11 滑动窗口最大值
维护一个单调递减的队列,队列初始元素是初始窗口内的值,随后移动窗口时维护这个
单调队列
。窗口滑动一次的操作分三步:pop:如果窗口左pop掉的不是队列front,说
谛听misa
·
2024-01-25 02:42
力扣Hot100题
leetcode
算法
单调栈
(模板题)(c++题解)
题目描述给定一个长度为的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出。输入格式第一行输入一个n第二行输入n个整数输出格式n行,每行1个数,表示当前数左边第一个比当前数小的数样例样例输入复制534275样例输出复制-13-122数据范围与提示nusingnamespacestd;stacka;intn,m;intmain(){scanf("%d",&n);for(inti=1;i=m)
hb_zhyu
·
2024-01-25 00:35
c++
算法
开发语言
代码随想录算法训练营day13|239.滑动窗口最大值、347.前K个高频元素
本题算比较有难度的,需要自己去构造
单调队列
,建议先看视频来理解。
万事大吉CC
·
2024-01-24 20:17
代码随想录
算法
【代码随想录】刷题笔记Day55
前言周三,又到了为组会焦虑的日子,此为近忧,而找工作乃远虑啊,争取继续刷完~739.每日温度-力扣(LeetCode)什么时候用
单调栈
一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置问题本质用栈来记录遍历过的元素
小涛44
·
2024-01-24 18:40
代码随想录刷题笔记
笔记
leetcode
算法
职场和发展
数据结构
数据结构(一)__习题——双指针、区间合并、栈与队列 + 高精度
肝就完了2月16日,day04打卡今日已学完y总的算法基础课-2.2-Week2习题课共6题,知识点如下双指针:数组元素的目标和复习了:区间合并、单链表、双链表
单调栈
、
单调队列
KMP简单讲了一下坐标从0
.浮尘.
·
2024-01-24 08:06
#
acwing算法基础课
算法
学习
c++
【代码随想录】刷题笔记Day54
前言差
单调栈
就结束代码随想录一刷啦,回家二刷打算改用python补充进博客,小涛加油!!!
小涛44
·
2024-01-23 23:11
代码随想录刷题笔记
笔记
leetcode
算法
职场和发展
数据结构
单调栈
笔记
单调栈
1.每日温度2.下一个更大元素I3.下一个更大的元素4.接雨水5.柱状图中最大的矩形
单调栈
正如其名字,用一个栈(能够实现栈性质的数据结构就行)来存储元素,存储在栈中的元素保持单调性(单调递增或者是单调递减
佳雨初林
·
2024-01-23 22:19
算法笔记
笔记
算法
leetcode
一、基础数据结构——2.队列——3.双端队列和
单调队列
1
参考资料:《算法竞赛》,罗勇军郭卫斌著本博客作为阅读本书的学习笔记,仅供交流学习。建议关注罗勇军老师博客删除线格式今天想到考完研去找工作面试被问到的问题:C与C++有什么区别?我当时的答案(毫无训练痕迹):差不多,输入输出好像不一样事实上,c和c++都可以使用scanf进行输入,使用printf进行输出找到AI的答案:C是面向过程的语言,多用于操作系统等的开发;C++是面向对象的语言,比较适合大型
鸥梨菌Honevid
·
2024-01-23 16:58
Algorithm
数据结构
[算法基础学习]
单调栈
和
单调队列
单调栈
和
单调队列
与for一起遍历数组时,时间复杂度是o(n),根据摊还分析。
单调栈
应用举例:求某个点左侧或右侧第一个比它大的点的位置核心思想:入栈时与栈顶进行比较,或栈顶元素更差,就删除它。
Waldeinsamkeit41
·
2024-01-23 14:59
蓝桥杯
学习
代码随想录刷题第13天
做法是
单调队列
,头一次听说。用队列维护可能成为最大值的元素,定义出三种运算方式pop,push,getfront,当窗口滑动导致队头元素被推出时,执行pop操作,把队头元素弹出,新元素加入时,若大于队
太阳照常升起366
·
2024-01-22 21:33
算法
数据结构
The 14th Chinese Northeast Collegiate Programming Contest 补题(A.异或二进制位最小生成树 K.二维
单调队列
L.二分+最大n维曼哈顿距离)
A.MicroStructureThread(异或二进制位最小生成树)题意比较迷惑,最后转化下来是,确定一个树的点与父亲的排列,使得所求式总代价最小,即求一棵最小生成树,点i和点j连接的代价是popcount(a[i]^a[j])即ai和aj异或的值的二进制位的个数,其中nusingnamespacestd;#definepbpush_backtypedefpairP;constintN=2e5+
Code92007
·
2024-01-22 19:00
线上比赛
#
单调栈/单调队列
#
异或popcount最小生成树
二维单调队列
最大n维曼哈顿距离
第14届东北赛
线上比赛
hot100:07接雨水
题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台算法思想:这里采取的是暴力解法和双指针的解法,但是这个题目还有其他的两种解法(
单调栈
和动态规划,同学可以自行了解)首先,在说算法思想之前
蜡笔小心眼子!
·
2024-01-22 14:14
OJ题目讲解
算法
leetcode
java
leetcode下一个更大的元素---1暴力---2
单调栈
1.题目:nums1中数字x的下一个更大元素是指x在nums2中对应位置右侧的第一个比x大的元素。给你两个没有重复元素的数组nums1和nums2,下标从0开始计数,其中nums1是nums2的子集。对于每个0stack=newStack=0;i++){while(!stack.empty()&&stack.peek()
李明(#)
·
2024-01-22 10:15
leetcode
算法
数据结构
java
leetcode:每日温度---
单调栈
题目:给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。示例:示例1:输入:temperatures=[73,74,75,71,69,72,76,73]输出: [1,1,4,2,1,1,0,0]示例2:输入:temperatures=[30,40,5
李明(#)
·
2024-01-22 10:15
leetcode
算法
数据结构
java
python算法与数据结构---
单调栈
与实践
单调栈
单调栈
是一个栈,里面的元素的大小按照它们所在栈的位置,满足一定的单调性;性质:单调递减栈能找到左边第一个比当前元素大的元素;单调递增栈能找到左边第一个比当前元素小的元素;应用场景一般用于解决第一个大于
茨球是只猫
·
2024-01-22 06:57
python
算法
数据结构
【算法练习Day51】柱状图中最大的矩形
个人主页:@Sherry的成长之路学习社区:Sherry的成长之路(个人社区)专栏链接:练题长路漫漫浩浩,万事皆有期待文章目录柱状图中最大的矩形思路动态规划
单调栈
总结:柱状图中最大的矩形力扣题目链接给定
Sherry的成长之路
·
2024-01-21 23:43
练题
算法
【算法练习Day50】下一个更大元素II&&接雨水
个人主页:@Sherry的成长之路学习社区:Sherry的成长之路(个人社区)专栏链接:练题长路漫漫浩浩,万事皆有期待文章目录下一个更大元素II接雨水
单调栈
思路总结:下一个更大元素II503.下一个更大元素
Sherry的成长之路
·
2024-01-21 23:10
练题
算法
【Leetcode】接雨水(双指针、
单调栈
)
目录题目描述双指针解法
单调栈
解法题目描述给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
P_M_P
·
2024-01-21 18:03
算法
leetcode
算法
c++
Codeforces Round 915 (Div. 2) D题
单调栈
,特殊情况入手
Problem-D-Codeforces目录题意:思路:把0放后面:————然后看懂下面思路,理解
单调栈
:细节:核心代码:题意:mex指的是该数组缺的最小的自然数,例如:数组012缺3,013缺2,12345
DBWG
·
2024-01-21 15:25
CF
算法
数据结构
算法总结归纳(第二天)(数据结构线性表总结:链表、栈与队列、
单调栈
、
单调队列
、字符串)
②、两两交换链表中的元素③、删除倒数第n个节点Ⅱ、使用数组类型表示链表1、单链表2、双链表二、栈与队列Ⅰ、普通栈1.使用数组实现栈(重要)2、表达式求值(逆波兰表达式)Ⅱ、队列1、使用数组实现队列Ⅲ、
单调栈
乘风破浪的咸鱼君
·
2024-01-20 23:16
算法
数据结构
c++
LEQ and NEQ(容斥
单调栈
优化dp)
题目n(nusingnamespacestd;#definerep(i,a,b)for(inti=(a);i=(b);--i)typedeflonglongll;typedefdoubledb;typedefpairP;#definefifirst#definesesecond#definepbpush_back#definedbg(x)cerr=a[i]){c--;}rep(j,0,1){if(
Code92007
·
2024-01-20 23:57
组合数学(容斥原理)
#
dp优化
容斥
单调栈
dp
1944. 队列中可以看到的人数
1944.队列中可以看到的人数-力扣(LeetCode)1、一个人能看到的人要么比他自己高,要么比他自己矮2、一个人最多只能看到一个比自己高的人那可以倒序遍历height数组,
单调栈
中降序,a若能弹出b
云儿乱飘
·
2024-01-20 07:10
算法题
c++
算法
代码随想录算法训练营 day13 || 239. 滑动窗口最大值,347. 前K个高频元素
题解链接:
单调队列
正式登场!|LeetCode:239.滑动窗口最大值_哔哩哔哩_bilibili优先级队列正式登场!大顶堆、小顶堆该怎么用?
weixin_44316285
·
2024-01-19 19:09
算法
上一页
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
其他