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
单调栈
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
去除重复字母【字符串操作+
单调栈
+布尔型变量】
本文是力扣LeeCode-316.去除重复字母学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。给你一个字符串s,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例1:输入:s=“bcabc”输出:“abc”示例2:输入:s=“cbacdcbc”输出:“acdb”提示:1stack=newStack
666-LBJ-666
·
2024-01-06 20:15
#
每日一道LeeCode算法题
leetcode
数据结构
算法
OJ练习第188题——队列中可以看到的人数
队列中可以看到的人数力扣链接:1944.队列中可以看到的人数题目描述示例解题思路(
单调栈
)分析图例可以发现,第0个人可以看到的三个人的身高是严格递增的。
盖盖的博客
·
2024-01-06 05:43
OJ练习
java
单调栈
【算法】【
单调栈
、Python3】力扣1944. 队列中可以看到的人数
1944.队列中可以看到的文章目录
单调栈
介绍为什么需要
单调栈
?
扣柚
·
2024-01-06 05:12
力扣题目解析
算法
leetcode
职场和发展
单调栈
python
[H
单调栈
] lc1944. 队列中可以看到的人数(
单调栈
+双周赛57_4)
文章目录1.题目来源2.题目解析1.题目来源链接:1944.队列中可以看到的人数2.题目解析
单调栈
裸题。和朴素的找他右边的第一个比它高的数不太一样,因为对于样例一而言,编号3是看不到的。
Ypuyu
·
2024-01-06 05:12
LeetCode
队列中可以看到的人数
单调栈
5196.队列中可以看到的人数
单调栈
2021.7.255196.队列中可以看到的人数对第ii个人来说,他能看到的人中,靠右的不能被靠左的挡住,所以这些人从左往右的高度必须是严格单调递增的。
超文艺小猪猪
·
2024-01-06 05:41
每日
c++
队列中可以看到的人数(
单调栈
)
队列中可以看到的人数](https://leetcode.cn/problems/number-of-visible-people-in-a-queue/)思路:1944.队列中可以看到的人数思路:1.采用
单调栈
翁佳明
·
2024-01-06 04:40
LeetCode
leetcode
算法
职场和发展
算法每日一题:队列中可以看到的人数 |
单调栈
大家好,我是星恒今天是一道困难题,他的题解比较好理解,但是不好想出来,接下来就让我带大家来捋一捋这道题的思路,以及他有什么特征题目:leetcode1944有n个人排成一个队列,从左到右编号为0到n-1。给你以一个整数数组heights,每个整数互不相同,heights[i]表示第i个人的高度。一个人能看到他右边另一个人的条件是这两人之间的所有人都比他们两人矮。更正式的,第i个人能看到第j个人的条
星恒star
·
2024-01-06 01:03
算法
队列中可以看到的人数,
单调栈
,逆序遍历
一、题目1、题目描述有n个人排成一个队列,从左到右编号为0到n-1。给你以一个整数数组heights,每个整数互不相同,heights[i]表示第i个人的高度。一个人能看到他右边另一个人的条件是这两人之间的所有人都比他们两人矮。更正式的,第i个人能看到第j个人的条件是imax(heights[i+1],heights[i+2],...,heights[j-1])。请你返回一个长度为n的数组answ
EQUINOX1
·
2024-01-06 00:41
leetcode每日一题
算法
c++
数据结构
leetcode
职场和发展
力扣1944.队列中可以看到的人数--
单调栈
思路:由题知一个人能看到他右边另一个人的条件是这两人之间的所有人都比他们两人矮,也就是说,在自己右边第一个比自己高的人后面的人就肯定看不到了那么只需要找到右边第一个比自己高的人与自己之间的所有满足要求的人就行了,怎么找?一个个判断中间是否有不满足要求的人吗?可行,但太慢。通过分析,不难发现在此区间内满足要求的人身高呈递增增长,也就是说,只要左边有比自己高的人那么这个人肯定看不到:那么只需要判断指定
A呆唯
·
2024-01-06 00:10
力扣刷题笔记
leetcode
算法
职场和发展
c++
单调栈
(Monotone-Stack) 及经典问题
单调栈
单调栈
:不从头部出的单调队列总结单调队列:擅长维护区间【最大/最小】值,最小值对应单调递增队列
单调栈
:擅长维护最近【大于/小于】关系从左侧先入栈,就是维护左侧最近关系从右侧先入栈,就是维护右侧最近关系
欢欢学编程
·
2024-01-05 09:05
算法
数据结构
leetcode
c++
LeetCode——栈
栈特点:先进后出,后进先出适合:相当于一个暂存的地方,方便回来找特:
单调栈
——需要找到左边或者右边第一个比当前位置数大或者小的数字数据类型LinkedListstack=newLinkedListstack
小鱼0135
·
2024-01-05 08:12
LeetCode
leetcode
算法
java
D50|
单调栈
739.每日温度初始思路:暴力解法但是会超时。classSolution{publicint[]dailyTemperatures(int[]temperatures){int[]answer=newint[temperatures.length];for(inti=0;itemperatures[i]){answer[i]=j-i;break;}}}returnanswer;}}题解复盘:首先了
Q77ian
·
2024-01-05 04:45
算法
java
数据结构
代码随想录:
单调栈
单调栈
单调栈
是一种特殊的栈结构,通常用于解决一类特定的问题,如找到数组中元素的下一个更大(或更小)元素。
凌十一
·
2024-01-05 02:03
数据结构
从链表中移除节点:
单调栈
【LetMeFly】2487.从链表中移除节点:
单调栈
力扣题目链接:https://leetcode.cn/problems/remove-nodes-from-linked-list/给你一个链表的头节点
Tisfy
·
2024-01-05 02:07
题解
#
力扣LeetCode
leetcode
链表
算法
题解
单调栈
LeetCode 每日一题 Day 32 ||递归&
单调栈
2487.从链表中移除节点给你一个链表的头节点head。移除每个右侧有一个更大数值的节点。返回修改后链表的头节点head。示例1:输入:head=[5,2,13,3,8]输出:[13,8]解释:需要移除的节点是5,2和3。节点13在节点5右侧。节点13在节点2右侧。节点8在节点3右侧。示例2:输入:head=[1,1,1,1]输出:[1,1,1,1]解释:每个节点的值都是1,所以没有需要移除的节点
XforeverZ
·
2024-01-04 00:13
LeetCode
leetcode
算法
下一个更大元素 II (中)【
单调栈
】
本文是力扣LeeCode-503.下一个更大元素II学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。给定一个循环数组nums(nums[nums.length-1]的下一个元素是nums[0]),返回nums中每个元素的下一个更大元素。数字x的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在
666-LBJ-666
·
2024-01-03 23:56
#
每日一道LeeCode算法题
算法
leetcode
从链表中移除节点,
单调栈
的应用
一、题目1、题目描述给你一个链表的头节点head。移除每个右侧有一个更大数值的节点。返回修改后链表的头节点head。2、接口描述/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(
EQUINOX1
·
2024-01-03 22:32
leetcode每日一题
算法
数据结构
leetcode
动态规划
链表
每日温度(中)【
单调栈
】
本文是力扣LeeCode-739.每日温度(中)学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。示例1:输入:temperatures=[73,74,75,71,69
666-LBJ-666
·
2024-01-03 10:49
#
每日一道LeeCode算法题
算法
数据结构
leetcode
算法--数据结构基础
文章目录数据结构单链表栈表达式求值前缀表达式中缀表达式后缀表达式队列
单调栈
单调队列KMPTrie并查集堆哈希表字符串哈希数据结构单链表用数组模拟(静态链表)效率比定义Node类(动态链表)效率高些使用数组模拟单链表
this.xxxx
·
2024-01-01 03:26
数据结构
算法
数据结构
Java程序员面试需要注意啥?面试常见手撕模板题以及笔试模板总结
一.目录排序二分二叉树非递归遍历01背包最长递增子序列最长公共子序列最长公共子串大数加法大数乘法大数阶乘全排列子集N皇后并查集树状数组线段树字典树
单调栈
单调队列KMPManacher算法拓扑排序最小生成树最短路欧拉回路
Java_苏先生
·
2023-12-31 20:18
数据结构:
单调栈
1.
单调栈
单调栈
是一种数据结构,其中存放的数据应该是有序的,所以
单调栈
也有单调递减栈和单调递增栈单调递增栈:栈顶到栈底的元素大小是从小到大单调递减栈:栈顶到栈底的元素大小是从大到小
单调栈
主要就是用来求一个给定序列中每个数左边离它最近的比它大或小的数
c++机械师
·
2023-12-31 15:40
数据结构
数据结构
算法模板之
单调栈
和单调队列图文详解
⛳️
单调栈
讲解1.1
单调栈
的定义1.2如何维护一个
单调栈
1.3
单调栈
的用途1.4模板总结(重点)1.5
单调栈
的实例练习二.
聆风吟_
·
2023-12-31 13:40
算法模板
算法
数据结构
单调栈
单调队列
c++
经验分享
下一个更大元素 I(简)【
单调栈
】
本文是力扣LeeCode-496.下一个更大元素I学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。nums1中数字x的下一个更大元素是指x在nums2中对应位置右侧的第一个比x大的元素。给你两个没有重复元素的数组nums1和nums2,下标从0开始计数,其中nums1是nums2的子集。对于每个0|------>------------------->|||---
666-LBJ-666
·
2023-12-30 21:45
#
每日一道LeeCode算法题
leetcode
算法
数据结构
LeetCode75|
单调栈
目录739每日温度901股票价格跨度739每日温度求后面第一个比他大的元素的位置,
单调栈
需要递增求后面第一个比他小的元素的位置,
单调栈
需要递减本题栈头到栈底的顺序应该从小到大classSolution{
魔法恐龙: )
·
2023-12-30 21:46
#
LeetCode
算法
算法每日一题:美丽塔2 |
单调栈
| 动态规划 | 抛物线
今天的每日一题超级不简单哦!题目:leetcode2866给你一个长度为n下标从0开始的整数数组maxHeights。你的任务是在坐标轴上建n座塔。第i座塔的下标为i,高度为heights[i]。如果以下条件满足,我们称这些塔是美丽的:1maxHeights){intn=maxHeights.size();longres=0;long[]prefix=newlong[n];long[]suffix
星恒star
·
2023-12-29 09:30
算法
动态规划
【第十一课】数组模拟栈和队列 /
单调栈
/ 单调队列(滑动窗口) (c++代码 / 思路 )(acwing-828,829,830,154)
目录acwing-828模拟栈代码如下acwing-829模拟队列代码如下acwing-830
单调栈
思路代码如下acwing-154滑动窗口-单调队列思路代码如下这个数组模拟栈和队列的实现比较简单,我们之前也学过数据结构的内容
小w_
·
2023-12-29 07:02
算法基础
算法
c++
数据结构
LeetCode 84柱状图中最大的矩形 | 代码随想录25期训练营day60 完结撒花!
单调栈
3LeetCode84柱状图中最大的矩形2023.12.23题目链接代码随想录讲解[链接]intlargestRectangleArea(vector&heights){/*//双指针法,也是暴力求解的
精彩文帅。
·
2023-12-29 05:18
LeetCode刷题
代码随想录训练营
leetcode
算法
c++
数据结构
LeetCode刷题(12.12)
LeetCode刷题日记声明:本文主要是记录自己学习过程,以下的所有东西并不完全准确,如有不正确的,望指正,在这里先谢谢各位大佬了(膜拜)题目一下一个更大元素I难度:简单思路如下暴力枚举哈希表小优化
单调栈
优化暴力枚举
是玖木J_Mu
·
2023-12-28 21:11
leetcode
哈希算法
散列表
数据结构
笔记
c++
2023.12.21力扣每日一题——美丽塔 II
2023.12.21题目来源我的题解方法一暴力解法(本题超时,无法通过)方法二前后缀和+
单调栈
题目来源力扣每日一题;题序:2866我的题解方法一暴力解法(本题超时,无法通过)依次枚举每个maxHeights
菜菜的小彭
·
2023-12-27 02:04
java
力扣每日一题
leetcode
python
算法
2023.12.12力扣每日一题——下一个更大元素 IV
2023.12.12题目来源我的题解方法一方法二
单调栈
+最小堆方法三单调增栈+单调减栈题目来源力扣每日一题;题序:2454我的题解方法一暴力解法。
菜菜的小彭
·
2023-12-27 02:33
java
力扣每日一题
leetcode
算法
职场和发展
【二叉树】【单调双向队列】LeetCode239:滑动窗口最大值
作者推荐map|动态规划|
单调栈
|LeetCode975:奇偶跳涉及知识点单调双向队列二叉树题目给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。
闻缺陷则喜何志丹
·
2023-12-25 09:21
#
算法题
算法
leetcode
c++
数据结构
单调双向队列
最大值
二叉树
单调栈
/悬线法:2019银川区域赛K
题目思路:这种问极大子矩阵的题目有两种方法求解:
单调栈
/悬线法方法一:
单调栈
1.关键:求出每个点最远往上衍生多远的距离记为val.对于每一行,相当于求解以这一行为底边的最大柱状图面积。
塔子哥来了嗷
·
2023-12-25 08:47
2.1数据结构 | 数组模拟链表、
单调栈
、单调队列、kmp算法
2.1数据结构(一)这是我的一个算法网课学习记录,道阻且长,好好努力2.1.1链表与邻接表:树与图的存储链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。就像一条火车,里面的数据就是我们的车厢,而指针就是将数据链接起来的链条,所以我们称之为链表。实现可以使用结构体或者数组,数组的优势在于运行时间快数组模拟单链表实现一个单链表,链表初始为空,支持三
镜水不emo
·
2023-12-25 04:51
数据结构与算法_基础学习
数据结构
链表
算法
算法学习(5) 数据结构:用数组实现单链表/栈/队列/
单调栈
/单栈队列/KMP/kmp统计字串
1、数组模拟单链表例题:826.单链表https://www.acwing.com/problem/content/828/输入样例:10H9I11D1D0H6I36I45I45I34D6输出样例:6465#includeusingnamespacestd;constintN=100010;//head头结点下标,e[i]表示结点i的值//ne[i]表示下一个结点的下标,idx表示当前已经用到了哪
广大菜鸟
·
2023-12-25 04:49
数据结构
python算法模板第二部分(1)(单链表、双链表、模拟栈、模拟队列、
单调栈
、单调队列、KMP算法)
注:本文是在学习了acwing的算法基础课后撰写,主要用于记录python版本算法的模板。其中部分参考了acwing众多大佬的题解。1.单链表思想:本部分将使用数组实现链表操作,而不使用指针。数组e用于存放链表值(val),数组ne用于存放下一个链表节点(next),index用于存下标。常见操作:1.向链表头插入一个数2.删除第k个节点后的节点3.在第k个节点后插入一个节点注:第k个节点并不是指
啥也不会做
·
2023-12-25 04:18
python算法模板
python
队列
算法
链表
数据结构
算法基础复盘笔记Day03【数据结构】—— 单链表、双链表、栈、队列、
单调栈
、单调队列
❤作者主页:欢迎来到我的技术博客❀个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~*如果文章对您有帮助,记得关注、点赞、收藏、评论⭐️⭐️⭐️您的支持将是我创作的动力,让我们一起加油进步吧!!!第一章单链表一、单链表1.题目描述实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数;删除第kkk个插入的数后面的数;在第kkk个插入的数后插入一个数。现在要对该链表
Java技术一点通
·
2023-12-25 04:17
数据结构与算法
单链表
双链表
栈
队列
算法学习系列(十):用数组模拟链表、双链表、栈、队列、
单调栈
、单调队列
目录引言一、数组模拟链表1.模板2.例题3.测试二、数组模拟双链表1.模板2.例题3.测试三、数组模拟栈1.模板2.例题3.测试四、数组模拟队列1.模板2.例题3.测试五、数组模拟
单调栈
1.例题+模板2
lijiachang030718
·
2023-12-25 04:45
算法
算法
学习
链表
【
单调栈
】84.柱状图中最大矩形
题目法1:
单调栈
[原版]O(N)+O(N)必须掌握算法!!!
Allenlzcoder
·
2023-12-25 03:58
力扣Top100
单调栈
第 120 场双周赛 解题报告 | 珂学家 | 前后缀拆解 & 启发式合并
T3这题属于前后缀拆解,然后
单调栈
上二分(可以引入哨兵机制),感觉
单调栈
不太严谨,写起来有点变扭。T4难道是传说中DsuOnTree?感觉有些像。
珂朵莉MM
·
2023-12-24 20:38
数据结构
算法
java
职场和发展
贪心算法
【单调队列】LeetCode1425:带限制的子序列和
作者推荐map|动态规划|
单调栈
|LeetCode975:奇偶跳涉及知识点单调队列题目给你一个整数数组nums和一个整数k,请你返回非空子序列元素和的最大值,子序列需要满足:子序列中每两个相邻的整数nums
闻缺陷则喜何志丹
·
2023-12-24 15:54
#
算法题
算法
数据结构
leetcode
c++
单调队列
子系列和
「学习笔记」单调队列
单调栈
一.原理二.习题练习1.SlidingWindow2.Non-negativePartialSums3.Onehundredlayer4.BalancedPlaylist5.OpenStreetMap
ぺdepths°
·
2023-12-24 02:49
题解
数据结构
算法
数据结构
队列
单调队列/
单调栈
算法笔记
#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#definedebug()puts("++++")#definegcd(a,b)__gcd(a,b)#defi
weixin_33851429
·
2023-12-24 02:48
美丽塔 II |
单调栈
+ 前后缀数组】
算法题算法刷题专栏|面试必备算法|面试高频算法越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨作者简介:硕风和炜,CSDN-Java领域新星创作者,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享恭喜你发现一枚宝藏博主,赶快收入囊中吧人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?算法题目录题目链接⛲题目描述求解思路
硕风和炜
·
2023-12-24 00:17
LeetCode每日一题打卡
leetcode
算法
java
单调栈
前缀后缀数组
数据结构
【
单调栈
】【区间合并】LeetCode85:最大矩形
作者推荐【动态规划】【广度优先搜索】LeetCode:2617网格图中最少访问的格子数本文涉及的知识点
单调栈
区间合并题目给定一个仅包含0和1、大小为rowsxcols的二维二进制矩阵,找出只包含1的最大矩形
闻缺陷则喜何志丹
·
2023-12-23 20:59
#
算法题
c++
算法
LeetCode
区间合并
单调栈
最大矩形
测试用例
【
单调栈
】LeetCode:2818操作使得分最大
作者推荐map|动态规划|
单调栈
|LeetCode975:奇偶跳涉及知识点
单调栈
题目给你一个长度为n的正整数数组nums和一个整数k。一开始,你的分数为1。
闻缺陷则喜何志丹
·
2023-12-23 20:59
#
算法题
leetcode
算法
c++
最大
单调栈
质数
取余
【
单调栈
]LeetCode84: 柱状图中最大的矩形
作者推荐【动态规划】【广度优先搜索】LeetCode:2617网格图中最少访问的格子数本文涉及的知识点
单调栈
题目给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。
闻缺陷则喜何志丹
·
2023-12-23 20:29
#
算法题
leetcode
c++
算法
单调栈
测试用例
最大
柱状图
上一页
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
其他