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
单调栈单调队列
单调队列
-详细讲解(含例题)
定义:顾名思义,
单调队列
的重点分为「单调」和「队列」。「单调」指的是元素的「规律」——递增(或递减)。「队列」指的是元素只能从队头和队尾进行操作。
曾续缘
·
2024-01-19 19:00
数据结构与算法
算法
数据结构
【LeetCode】栈精选9题
目录1.删除字符串中的所有相邻重复项(简单)2.逆波兰表达式(中等)3.基本计算器II(中等)4.字符串解码(中等)5.验证栈序列(中等)6.小行星碰撞(中等)
单调栈
:1.每日温度(中等)2.柱状图中最大的矩形
秋秋晗晗
·
2024-01-19 15:16
LeetCode精选算法题
leetcode
算法
算法刷题——滑动窗口的最大值(力扣)
文章目录题目描述我的解法思路结果分析官方题解优先队列法(堆)思路分析
单调队列
法思路分析查漏补缺c++中的优先队列(堆)c++中的emplace函数更新日期参考来源题目描述传送门滑动窗口的最大值:给你一个整数数组
累了就睡醒了就学
·
2024-01-19 05:41
数据结构与算法
算法
leetcode
c++
代码随想录-Day59~60完结撒花
示例1:输入:heights=[2,1,5,6,2,3]输出:10解释:最大的矩形为图中红色区域,面积为10整体思路:还是
单调栈
的思路,不多赘述了。
小元祖
·
2024-01-18 21:43
算法
java
数据结构
【栈】Leetcode 496 下一个更大元素I
【栈】Leetcode496下一个更大元素I解法1两个
单调栈
解法2---------------题目链接-------------------解法1两个
单调栈
两个栈进行操作,一个栈用来遍历寻找,一个栈用来保留将待寻找的
苹果就叫不呐呐
·
2024-01-17 06:42
Leetcode
开发语言
leetcode
数据结构
java
算法
代码随想录算法训练营第六十天| 84.柱状图中最大的矩形
代码随想录算法训练营第六十天|84.柱状图中最大的矩形一、力扣84.柱状图中最大的矩形题目链接思路:
单调栈
内自栈顶到栈底单调递减,当前元素小于栈顶,栈顶即为凸点。
当年拼却醉颜红
·
2024-01-16 21:39
算法
代码随想录算法训练营第六十二天| 84.柱状图中最大的矩形
E6%9F%B1%E7%8A%B6%E5%9B%BE%E4%B8%AD%E6%9C%80%E5%A4%A7%E7%9A%84%E7%9F%A9%E5%BD%A2.html自己看到题目的第一想法题目1.
单调栈
看完代码随想录之后的想法题目
qq_22081185
·
2024-01-16 21:07
1024程序员节
代码随想录算法训练营第六十二天| LeetCode 84 柱状图中最大的矩形
1LeetCode84柱状图中最大的矩形题目链接:LeetCode84柱状图中最大的矩形文章讲解:代码随想录(programmercarl.com)视频讲解:
单调栈
,又一次经典来袭!
望仁啊
·
2024-01-16 21:36
代码随想录算法刷题
1024程序员节
代码随想录算法训练营第六十天|84.柱状图中最大的矩形
有了之前
单调栈
的铺垫,这道题目就不难了。84.柱状图中最大的矩形代码随想录今天是训练营最后一天,恭喜坚持两个月的录友们,接下来可以写一篇自己代码随想录一刷的总结。
鹌鹑村村长
·
2024-01-16 21:32
代码随想录算法训练营
算法
leetcode
数据结构
c++
算法总结——
单调栈
文章目录一、
单调栈
的定义二、
单调栈
的应用:寻找左边第一个比它小的数寻找左边第一个比它小的数的下标寻找右边第一个小于它的数寻找右边第一个小于它的数的下标
单调栈
总结一、
单调栈
的定义
单调栈
不是一种新的数据结构
强风吹拂king
·
2024-01-16 20:06
算法
数据结构
c++
学习
笔记
数据结构和算法笔记
#include#include#include#includeusingnamespacestd;//
单调栈
vectornextGreaterElement(vector&nums){vectorans
daitu3201
·
2024-01-16 16:56
算法
笔记
数据结构
单调栈
和
单调队列
的模板题
单调栈
和
单调队列
的思想其实是类似的,是一种优化方式。通过
单调栈
和
单调队列
,我们可以将原本O(n2)的问题优化到O(n)来做。
mlww-
·
2024-01-15 18:30
数据结构
算法
数据结构
c++
代码随想录-刷题第五十七天
42.接雨水题目链接:42.接雨水思路:本题十分经典,使用
单调栈
需要理解的几个问题:首先
单调栈
是按照行方向来计算雨水,如图:使用
单调栈
内元素的顺序从大到小还是从小到大呢?
涛声依旧9087
·
2024-01-15 09:20
数据结构
数据结构
算法
java
leetcode
单调栈
代码随想录-刷题第五十六天
单调栈
理论基础先介绍
单调栈
类型的题目,通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时就要想到可以用
单调栈
。时间复杂度为O(n)。
涛声依旧9087
·
2024-01-15 08:13
数据结构
算法
数据结构
java
leetcode
单调栈
算法刷题常用方法
算法刷题常用方法的文章,如果有什么需要改进的地方还请大佬指出⛺️作者简介:大家好,我是听风与他☁️博客首页:CSDN主页听风与他每日一句:狠狠沉淀,顶峰相见目录前言1.最大公约数gcd2.唯一分解定理3.欧拉筛4.
单调队列
实现滑动窗口
听风与他
·
2024-01-15 05:07
算法
java
单调栈
练习(五)— 子数组的最小值之和
题目同样的LeetCode原题:题目链接给定一个整数数组arr,找到min(b)的总和,其中b的范围为arr的每个(连续)子数组。由于答案可能很大,因此返回答案模10^9+7。思路暴力解先来说暴力解的思路:三层for循环,找到每一个子数组中的最小值,0-0,0-1,0-2…0-N。1-1,1-2,1-3…1-N。并将每一个子数组的最小值相加即可,时间复杂度O(N3)O(N^3)O(N3)。代码pu
善良的Leexx
·
2024-01-15 03:10
leetCode
算法
java
算法
单调栈
单调栈
练习(四)— 统计全 1 子矩形
单调栈
解题思路整体和上一篇文章差不多,都是用到了压缩数组的技巧,通过压缩数组来构建一个数组矩阵、以每一行为底,每一列作为矩阵的高度,区别在于上一篇帖子是计算求矩阵的最大面积矩阵面积。
善良的Leexx
·
2024-01-15 03:09
算法
leetCode
算法
java
单调栈
单调栈
练习(三)— 最大矩形
题目同样是LeetCode原题:题目链接给定一个仅包含0和1、大小为rowsxcols的二维二进制矩阵,找出只包含1的最大矩形,并返回其面积。暴力解先来看一下暴力解的时间复杂度。假如一个N*N的大矩阵,想要枚举出来所有的子矩阵时间复杂度是多少?O(N4)O(N^4)O(N4)是这样算的:在N*N中随便点一个点A的可能性是O(N2)O(N^2)O(N2)种,再随便点一个点B,同样也是O(N2)O(N
善良的Leexx
·
2024-01-15 03:39
leetCode
算法
java
算法
单调栈
录第第五十八天——每日温度,下一个更大元素|
单调栈
栈里的元素保持单调递增或者递减,栈内元素是元素下标。
荒野饮冰室
·
2024-01-15 00:05
算法
数据结构
单调栈
ABC332 A-F
AtCoderBeginnerContest332-AtCoder打的最难受的一集,前三题阅读理解,D暴力没想出来,E典的子集dp,F一眼区间乘加的线段树但是没时间写,掉大分,要被新生
单调队列
优化了A-OnlineShopping
Muelsyse_
·
2024-01-14 23:24
Atcoder
算法
第 3 场 蓝桥杯小白入门赛 解题报告 | 珂学家 |
单调队列
优化的DP + 三指针滑窗
前言整体评价T5,T6有点意思,这场小白入门场,好像没真正意义上的签到,整体感觉是这样。A.召唤神坤思路:前后缀拆解#include#include#includeusingnamespacestd;intmain(){//请在此输入您的代码intn;cin>>n;vectorarr(n);for(inti=0;i>arr[i];}vectorpre(n);vectorsuf(n);pre[0]=
珂朵莉MM
·
2024-01-14 08:21
蓝桥杯
解题报告
算法
力扣
蓝桥杯
数据结构
java
贪心算法
c++
洛谷P1714 切蛋糕
单调队列
做法
原题链接https://www.luogu.com.cn/problem/P1714题面题目描述今天是小Z的生日,同学们为他带来了一块蛋糕。这块蛋糕是一个长方体,被用不同色彩分成了nnn个相同的小块,每小块都有对应的幸运值。小Z作为寿星,自然希望吃到的蛋糕的幸运值总和最大,但小Z最多又只能吃m(m≤n)m(m\len)m(m≤n)小块的蛋糕。请你帮他从这nnn小块中找出连续的k(1≤k≤m)k(1
bughunter-
·
2024-01-13 22:04
算法&数据结构
算法竞赛
算法
算法学习 (门徒计划)4-2
单调栈
(Monotone-Stack)及经典问题 学习笔记
算法学习(门徒计划)4-2
单调栈
(Monotone-Stack)及经典问题学习笔记前言
单调栈
基础性质代码实现总结经典例题LeetCode155.最小栈(基础)解题思路LeetCode496.下一个更大元素
正半轴
·
2024-01-13 21:23
算法研习
java
单调栈
leetcode
day13 滑动窗口最大值 前K个高频元素
每次只移动1位,求滑动窗口中的最大值不能使用优先级队列,如果使用大顶堆,最终要pop的元素不知道是哪一个,因为大顶堆已经对队列中的元素进行排序了,元素的顺序发生了改变暴力解法对窗口内的所有元素进行排序
单调队列
由于窗口每次只移动
人来茶热
·
2024-01-12 16:14
算法
leetcode
动态规划
代码随想录刷题
文章目录数组链表哈希表字符串双指针法栈与队列二叉树回溯算法贪心算法动态规划
单调栈
数组链表哈希表字符串双指针法栈与队列二叉树回溯算法贪心算法动态规划爬楼梯classSolution{publicintclimbStairs
greedy-hat
·
2024-01-12 03:18
刷题
算法
算法经典题---42.接雨水
42.接雨水我的解法:
单调栈
:栈中保留height元素下标,从栈底到栈顶的下标对应的数组元素值从大到小创建栈m_stack,向其中插入元素0;接着从下标1开始遍历height的各个元素(1)若height
3arong
·
2024-01-11 23:09
算法
数据结构
c++
数据结构之
单调栈
、
单调队列
今天学习了
单调栈
还有
单调队列
的概念和使用,接下来我将对其定义并配合几道习题进行讲解:首先先来复习一下栈与队列:然后我们来看一下
单调栈
的定义:
单调栈
中的元素从栈底到栈顶的元素的大小是按照单调递增或者单调递减的关系进行排列的
残念亦需沉淀
·
2024-01-11 12:52
数据结构
算法
c++
贪心
学习
力扣labuladong——一刷day87
如何生成可参考右边的帮助文档文章目录前言一、力扣503.下一个更大元素II二、力扣239.滑动窗口最大值前言现在需要一种新的队列结构,既能够维护队列元素「先进先出」的时间顺序,又能够正确维护队列中所有元素的最值,这就是「
单调队列
乱世在摸鱼
·
2024-01-10 18:14
力扣题解
leetcode
算法
数据结构
java
力扣labuladong——一刷day86
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、力扣496.下一个更大元素I二、力扣739.每日温度前言
单调栈
实际上就是栈,只是利用了一些巧妙的逻辑,使得每次新元素入栈后
乱世在摸鱼
·
2024-01-10 18:43
力扣题解
leetcode
java
算法
深度优先
【面试高频算法解析】算法练习8
单调队列
通过策略性地练习精选的经典题目,帮助您深度理解每种算法,避免出现刷了很多算法题,还是一知半解的状态专栏导航二分查找回溯(Backtracking)双指针滑动窗口深度优先搜索广度优先搜索贪心算法
单调队列
堆
worxfr
·
2024-01-09 19:57
算法
面试
算法
职场和发展
leetcode
单调队列
【面试高频算法解析】算法练习7 贪心算法
通过策略性地练习精选的经典题目,帮助您深度理解每种算法,避免出现刷了很多算法题,还是一知半解的状态专栏导航二分查找回溯(Backtracking)双指针滑动窗口深度优先搜索广度优先搜索贪心算法
单调队列
堆
worxfr
·
2024-01-09 15:05
算法
算法
面试
贪心算法
职场和发展
leetcode
队列中可以看到的人数】
单调栈
算法及其相关问题
1944.队列中可以看到的人数题目有n个人排成一个队列,从左到右编号为0到n-1。给你以一个整数数组heights,每个整数互不相同,heights[i]表示第i个人的高度。一个人能看到他右边另一个人的条件是这两人之间的所有人都比他们两人矮。更正式的,第i个人能看到第j个人的条件是imax(heights[i+1],heights[i+2],...,heights[j-1])。请你返回一个长度为n
七夕先生
·
2024-01-09 07:04
leetcode
算法
leetcode
职场和发展
c++
代码随想录算法训练营第五十九天|503.下一个更大元素II、42. 接雨水
代码随想录(programmercarl.com)503.下一个更大元素II思路一:将两个nums数组拼接在一起,使用
单调栈
计算出每一个元素的下一个最大值,最后再把结果集即result数组resize到原数组大小就可以了
Buuuleven.(程序媛
·
2024-01-09 05:31
算法
数据结构
java
leetcode
代码随想录算法训练营第六十天|84.柱状图中最大的矩形
方法二:双指针法时间复杂度是O(n)方法三:
单调栈
法寻找元素第一个比他大或比他小的元素,都可以使用
单调栈
的思路接雨水求的是右边第一个比他大的元素====递增的
单调栈
而本题求的是右边第一个比他小的元素==
Buuuleven.(程序媛
·
2024-01-09 05:01
算法
java
leetcode
数据结构
LeetCode 每日一题 Day 33&34(hard)&35 ||二进制枚举/
单调栈
/链表遍历
2397.被列覆盖的最多行数给你一个下标从0开始、大小为mxn的二进制矩阵matrix;另给你一个整数numSelect,表示你必须从matrix中选择的不同列的数量。如果一行中所有的1都被你选中的列所覆盖,则认为这一行被覆盖了。形式上,假设s={c1,c2,…,cnumSelect}是你选择的列的集合。对于矩阵中的某一行row,如果满足下述条件,则认为这一行被集合s覆盖:对于满足matrix[r
XforeverZ
·
2024-01-09 03:40
LeetCode
leetcode
算法
Array Collapse(
单调栈
+dp)
题目给定一个长为n(n#include//#include//#includeusingnamespacestd;#definerep(i,a,b)for(inti=(a);i=(b);--i)typedeflonglongll;typedefdoubledb;typedefpairP;#definefifirst#definesesecond#definepbpush_back#definedb
Code92007
·
2024-01-08 13:58
#
dp优化
#
基础dp
单调栈
单调栈
模版
单调栈
需要两个数组,一个值数组,一个模拟栈数组,拿一道题来举例。
Colinnian
·
2024-01-08 09:22
算法
模版
2024.1.5力扣每日一题——队列中可以看到的人数
2024.1.5题目来源我的题解方法一链表+暴力方法二
单调栈
题目来源力扣每日一题;题序:1944我的题解啊啊啊!!!
菜菜的小彭
·
2024-01-08 02:45
java
力扣每日一题
leetcode
windows
算法
2024.1.3力扣每日一题——从链表中移除节点
2024.1.3题目来源我的题解方法一递归方法二栈方法三反转链表方法四
单调栈
+头插法题目来源力扣每日一题;题序:2487我的题解方法一递归当前节点对其右侧节点是否删除无影响,因此可以对其右侧节点进行递归移除
菜菜的小彭
·
2024-01-08 02:44
java
力扣每日一题
链表
leetcode
算法
职场和发展
基础数据结构第四期
单调栈
前言
单调栈
这部分能出的题很少,只需要把几个典型的例题记住即可!!!一、
单调栈
的基本内容
单调栈
既然被称为单调,说明在栈内的元素是单调的,分为单调递增栈,单调递减栈。
娇娇yyyyyy
·
2024-01-07 20:05
#数据结构与算法
数据结构
C++
单调栈
||
单调栈
模版题
给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出−1。输入格式第一行包含整数N,表示数列长度。第二行包含N个整数,表示整数数列。输出格式共一行,包含N个整数,其中第i个数表示第i个数的左边第一个比它小的数,如果不存在则输出−1。数据范围1≤N≤1051≤数列中元素≤109输入样例:534275输出样例:-13-122#includeusingnamespacestd;c
伏城无嗔
·
2024-01-07 11:30
算法笔记
栈
力扣
c++
算法
数据结构
单调栈
:General
1.LC901.股票价格跨度题面:设计一个算法收集某些股票的每日报价,并返回该股票当日价格的跨度。当日股票价格的跨度被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。例如,如果未来7天股票的价格是[100,80,60,70,60,75,85],那么股票跨度将是[1,1,1,2,1,4,6]。实现StockSpanner类:StockSpanner()初始化类对象。in
lyh20021209
·
2024-01-07 03:38
数据结构与算法
算法
leetcode
java
【面试高频算法解析】算法练习5 深度优先搜索
通过策略性地练习精选的经典题目,帮助您深度理解每种算法,避免出现刷了很多算法题,还是一知半解的状态专栏导航二分查找回溯(Backtracking)双指针滑动窗口深度优先搜索广度优先搜索贪心算法
单调队列
堆
worxfr
·
2024-01-07 01:59
算法
算法
面试
深度优先
leetcode
职场和发展
【面试高频算法解析】算法练习1 二分查找
通过策略性地练习精选的经典题目,帮助您深度理解每种算法,避免出现刷了很多算法题,还是一知半解的状态专栏导航二分查找回溯(Backtracking)双指针滑动窗口深度优先搜索广度优先搜索贪心算法
单调队列
堆
worxfr
·
2024-01-07 01:28
算法
面试
算法
职场和发展
二分查找
leetcode
【面试高频算法解析】算法练习4 滑动窗口
通过策略性地练习精选的经典题目,帮助您深度理解每种算法,避免出现刷了很多算法题,还是一知半解的状态专栏导航二分查找回溯(Backtracking)双指针滑动窗口深度优先搜索广度优先搜索贪心算法
单调队列
堆
worxfr
·
2024-01-07 01:28
算法
算法
面试
数据结构
leetcode
滑动窗口
【面试高频算法解析】算法练习6 广度优先搜索
通过策略性地练习精选的经典题目,帮助您深度理解每种算法,避免出现刷了很多算法题,还是一知半解的状态专栏导航二分查找回溯(Backtracking)双指针滑动窗口深度优先搜索广度优先搜索贪心算法
单调队列
堆
worxfr
·
2024-01-07 01:54
算法
算法
面试
广度优先
leetcode
数据结构
职场和发展
day58算法训练|
单调栈
part01
参考:代码随想录
单调栈
的使用情况:通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用
单调栈
了。时间复杂度为O(n)。
AdrianLeon
·
2024-01-06 23:20
数据结构
代码训练day59|
单调栈
part02
参考:代码随想录如何高效解决接雨水问题|labuladong的算法笔记503.下一个更大元素II与下一个更大元素|的区别就是要把数组考虑为环形(只有数组内最大值为-1)按照之前的环形为题解决经验,直接拼接两个数组解决即可工程能力:也可以用取模的方法来更新result数组如下classSolution{publicint[]nextGreaterElements(int[]nums){//边界判断i
AdrianLeon
·
2024-01-06 23:20
算法
算法训练day60|
单调栈
part0
参考:代码随想录84.柱状图中最大的矩形要求当前柱形的左右两边第一个比他小的位置对于高度为5的柱子(index为2)mid他的左边第一个比他小的柱子为1,index为1left他的右边第一个比他小的柱子高度为2,index为4right对5来说,(left,right)范围内(不包括left,right)都是比5高的柱,所以对5的体积可以是5(h[mid])*(right-left-1)双指针解法
AdrianLeon
·
2024-01-06 23:18
算法
leecode | 每日温度
这种在同一个数组往前/往后找最近大于/小于的思路常用栈的思路去解决而且常常是当前的id下标与第一个大于/小于的值去比较(还是多刷题,练手感吧感觉说多了也不好理解)#关键字
单调栈
cl
ttxiaoxiaobai
·
2024-01-06 21:40
C++
力扣
算法
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
其他