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
单调队列单调栈
洛谷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
去除重复字母【字符串操作+
单调栈
+布尔型变量】
本文是力扣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++
单调队列
及经典问题
单调队列
基础知识
单调队列
适合维护区间的最值问题入队操作队尾入队,会把之前破坏单调性的元素都从队尾移出(维护单调性)出队操作如果队首元素超出区间范围,就将元素从队首出队元素性质队首元素,永远是当前维护区间的
欢欢学编程
·
2024-01-05 09:42
算法
深度优先
数据结构
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
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
其他