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
单调队列&单调栈
数据结构算法(
单调栈
)
一.
单调栈
的定义
单调栈
本质上还是栈,表示的是一种特殊的数据结构,用来解决某类问题。
单调栈
,即存放在该栈中的元素是按照单调递增或单调递减的顺序存放。
郭天宇 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
算法
单调队列
-详细讲解(含例题)
定义:顾名思义,
单调队列
的重点分为「单调」和「队列」。「单调」指的是元素的「规律」——递增(或递减)。「队列」指的是元素只能从队头和队尾进行操作。
曾续缘
·
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++
上一页
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
其他