147.最小栈

news/2024/12/23 2:00:32/

题目

链接:leetcode链接
在这里插入图片描述

思路

这道题目做起来还是比较简单的,使用两个栈就可以实现题目要求。

其中一个栈s实现栈的基本功能,另一个栈mins实现检索最小元素的功能。

来看一下怎么样实现检索最小元素的功能呢?

我们可以这么做:

在每一次入栈的时候,都将该元素x与mins栈的栈顶元素top相比较
1、x <= top
x入mins栈,此时x也就成了最小的元素
注意这里要加上等号,因为,可能会有多个最小的元素,比如出现多个0等

2、x > top
x不入mins栈

出栈的时候怎么实现呢?
将s.top 与mins.top进行比较
1、s.top == mins.top
也就是最小元素,此时两个栈同时pop

2、s.top > mins.top
仅s栈pop即可

mins.top一定是最小元素,所以s.top 不可能 < mins.top

其余功能很容易实现,就不进行讲解了

代码

class MinStack {
public:stack<int> s1;stack<int> mins;/** initialize your data structure here. */MinStack() {}void push(int x) {s1.push(x);if(mins.empty() || x <= mins.top()){mins.push(x);}}void pop() {if(s1.top() <= mins.top()) mins.pop();s1.pop();   }int top() {return s1.top();}int getMin() {return mins.top();}
};

http://www.ppmy.cn/news/1523235.html

相关文章

智狐联创平台引入 Midjourney 绘画服务,开启创意新征程

作为人工智能领域创新平台&#xff0c;智狐联创宣布已全面支持 Midjourney 绘画服务&#xff0c;为广大用户带来全新的视觉创作体验。 智狐联创平台一直致力于为用户提供丰富多样且强大的人工智能服务与功能。此次接入 Midjourney 绘画服务&#xff0c;进一步丰富了其创作工具的…

报表生成---JFreeChart

JFreeChart 是一个开源的 Java 图表库&#xff0c;它提供了丰富的图表类型和灵活的定制选项&#xff0c;用于在 Java 应用程序中生成和显示图表。以下是 JFreeChart 的一些关键特点和功能&#xff1a; 多种图表类型&#xff1a;JFreeChart 支持多种图表类型&#xff0c;包括但不…

联众优车持续加大汽车金融服务投入与创新,赋能汽车消费新生态

近年来&#xff0c;中国汽车消费市场呈现出蓬勃发展的态势&#xff0c;而汽车金融服务作为降低购车门槛、优化购车体验的重要手段&#xff0c;正日益受到市场的青睐。《2023中国汽车消费趋势调查报告》显示&#xff0c;相较于前一年&#xff0c;今年选择汽车金融服务的市场消费…

gs_dump和gs_dumpall 迁移数据库

目录 0、源端实例收集AWR1、创建目录2、gs_dump - 业务停机3、gs_dumpall - 业务停机4、拷贝文件5、目标实例导入数据 0、源端实例收集AWR https://blog.csdn.net/hezuijiudexiaobai/article/details/134220949 1、创建目录 mkdir -p /pgdata/data/opengauss-57b399d8/dump/…

python_openCV_计算图片中的区域的黑色比例

希望对原始图片进行处理&#xff0c;然后计算图片上的黑色和白色的占比 上图&#xff0c; 原始图片 import numpy as np import cv2 import matplotlib.pyplot as pltdef cal_black(img_file):#功能&#xff1a; 计算图片中的区域的黑色比例#取图片中不同的位置进行计算&…

Spring中FactoryBean的高级用法实战

❃博主首页 &#xff1a; 「码到三十五」 &#xff0c;同名公众号 :「码到三十五」&#xff0c;wx号 : 「liwu0213」 ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a…

一次windows server 服务器病毒分析处理总结

接到反应某企业绿盟平台一直报警&#xff0c;当天发现服务器IP地址为192.168.xx.xx 的一天有上千条报警。针对这种情况&#xff0c;进行了分析并进行了处理。 一、绿盟安全管理平台报警 ​ 平台检测到某服务器有远程命令执行漏洞、挖矿行为等异常行为。平台目前最早记录为 20…

Leetcode39- 使数组中所有元素都等于零(2357)

1、题目 给你一个非负整数数组 nums 。在一步操作中&#xff0c;你必须&#xff1a; 选出一个正整数 x &#xff0c;x 需要小于或等于 nums 中 最小 的 非零 元素。 nums 中的每个正整数都减去 x。 返回使 nums 中所有元素都等于 0 需要的 最少 操作数。 示例 1&#xff1a;…