算法——单调栈

server/2024/10/22 13:44:46/

单调栈:

保持栈内的元素始终递增或递减。

java">单调递增 待处理数组{1,5,2,5,7,2,8}
public void sameyIncrease(int[] nums) {Stack<Integer> stack = new Stack<>();for(int i = 0; i < nums.length; i++) {//当栈空的时候可以直接进栈或者要进栈的数大于等于栈顶的数if(stack.isEmpty() || nums[stack.peek()] <= nums[i]) {stack.push(i);} else {//当进栈的数不满足规律的时候我们将原本栈内的数弹出,直至满足规律或栈空了while(!stack.isEmpty() && nums[stack.peek()] >= nums[i]) {stack.pop();}stack.push(i);}}
}
java">单调递减 待处理数组{1,5,2,5,7,2,8}
public void sameyIncrease(int[] nums) {Stack<Integer> stack = new Stack<>();for(int i = 0; i < nums.length; i++) {if(stack.isEmpty() || nums[stack.peek()] >= nums[i]) {stack.push(i);} else {while(!stack.isEmpty() && nums[stack.peek()] >= nums[i]) {stack.pop();}stack.push(i);}}
}

http://www.ppmy.cn/server/130263.html

相关文章

TODO 提交PR修订 小林coding笔记中对TLS握手过程的阐释

待办&#xff1a; 提交PR修订 小林coding笔记中对HTTPS握手过程的阐释 https://github.com/xiaolincoder/CS-Base 问题描述&#xff1a; 实操了下Wireshark抓包结果跟笔记中对不上号。 找了下原因&#xff1a; 笔记中抓包的TLS握手是1.2版本下的&#xff0c;现在已经很少被使用…

5.Python 数据容器(list 列表、tuple 元组、str 字符串、set 集合、dict(字典)、序列切片)

一、数据容器概述 Python 中的数据容器是一种可以容纳多份数据的数据类型&#xff0c;容纳的每一份数据称之为元素&#xff0c;每一个元素&#xff0c;可以是任意类型的数据&#xff0c;如字符串、数字、布尔值等 数据容器根据特点的不同&#xff0c;如&#xff1a;是否支持重…

智能工厂的设计软件 中的AI操作系统的“三维时间”(历时/共时/等时)构建的“能力成熟度-时间规模”平面

本文要点 “智能工厂的设计软件提出 “三维时间”的一个时间立方体&#xff08;cube&#xff09;。 “三维时间”的概念--历时diachronic&#xff08;一维的&#xff09;、共时synchronic&#xff08;二维的&#xff09;和等时isochronic&#xff08;三维的&#xff09;。 即…

环境变量

基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数 如&#xff1a;我们在编写C/C代码的时候&#xff0c;在链接的时候&#xff0c;从来不知道我们的所链接的动态静态库在哪里&#xff0c;但是照样可以链接成功&#xff0c;生成…

Python3 爬虫 中间人爬虫

中间人&#xff08;Man-in-the-Middle&#xff0c;MITM&#xff09;攻击是指攻击者与通信的两端分别创建独立的联系&#xff0c;并交换其所收到的数据&#xff0c;使通信的两端认为其正在通过一个私密的连接与对方直接对话&#xff0c;但事实上整个会话都被攻击者完全控制。在中…

HTML的介绍

HTML HTML是一种超文本标记语言,超文本是指,除了文本之外,还可能包含图片,音频,或者评注等的 文本形式,比文本强大,通过链接和交互方式来组织和呈现信息.标记语言是指,由标签构成的语言.HTML定义了多种不同的标签,用来表示不同的内容. 标签的介绍: 1.<h3> 三级 </h3&…

HTTP Cookie与Session

目录 一. 引入Cookie 1.1 定义 1.2 工作原理 1.3 分类 二. 认识Cookie 三. 测试Cookie 五. 引入Session 六. 测试Session 这篇博客&#xff0c;我们来看看Cookie与Session&#xff0c;内容干货满满。 一. 引入Cookie 1.1 定义 HTTP Cookie&…

LeetCode 48 Rotate Image 解题思路和python代码

题目&#xff1a; You are given an n x n 2D matrix representing an image, rotate the image by 90 degrees (clockwise). You have to rotate the image in-place, which means you have to modify the input 2D matrix directly. DO NOT allocate another 2D matrix and …