首页 > 其他分享 >leetcode 155. 最小栈(辅助栈)

leetcode 155. 最小栈(辅助栈)

时间:2022-12-12 19:33:48浏览次数:39  
标签:辅助 sta1 int top pop push sta2 155 leetcode


题目大意:

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。

push(x) —— 将元素 x 推入栈中。
pop() —— 删除栈顶的元素。
top() —— 获取栈顶元素。
getMin() —— 检索栈中的最小元素。

解题思路:

一个栈sta1是用来模拟栈操作的。另一个 栈sta2用来返回最小值,每次push的值比sta2.top()要下就push进去否则push sta2.top(),这样的好处是我们的sta2维护了每个最值的适用域。

class MinStack {
public:
/** initialize your data structure here. */
stack<int> sta1,sta2;
MinStack() {

}

void push(int x) {
sta1.push(x);
if(sta2.size() && sta2.top()<x)sta2.push(sta2.top());
else sta2.push(x);
}

void pop() {
sta1.pop();
sta2.pop();
}

int top() {
return sta1.top();
}

int getMin() {
return sta2.top();
}
};

/**
* Your MinStack object will be instantiated and called as such:
* MinStack* obj = new MinStack();
* obj->push(x);
* obj->pop();
* int param_3 = obj->top();
* int param_4 = obj->getMin();
*/

 

标签:辅助,sta1,int,top,pop,push,sta2,155,leetcode
From: https://blog.51cto.com/u_15910522/5931544

相关文章

  • leetcode 128. 最长连续序列 (hash,暴力)
    题目大意:给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。解题思路:我们每次枚举数字的第一个,然后往后数有多少个。可以证明每个数字只会被......
  • #yyds干货盘点# LeetCode程序员面试金典:链表相交
    题目:给你两个单链表的头节点 headA​ 和 headB​ ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目......
  • 【辅助工具】Maven使用
    Maven使用导包错误找到对应的路径,丛正常导入的同事直接复制过来。Maven启动项目......
  • #yyds干货盘点# LeetCode程序员面试金典:回文链表
    题目:编写一个函数,检查输入的链表是否是回文的。 示例1:输入:1->2输出:false示例2:输入:1->2->2->1输出:true代码实现:classSolution{publicbooleanisPalindrome(L......
  • 力扣 leetcode 22. 括号生成
    问题描述数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。提示:1<=n<=8示例示例1:输入:n=3输出:["((()))","(()())",......
  • 力扣 leetcode 213. 打家劫舍 II
    问题描述你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋......
  • 力扣 leetcode 62. 不同路径
    问题描述一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为......
  • 【Java】【LeetCode】字符串操作
    将空格替换成"%20"Stringa=s.replace("","%20");//注意replace不是直接在s上做修改,而是返回了一个字符串StringBuilderStringBuildersb=newStringBuilder("1234a......
  • 检测轮廓边缘-辅助缺失区域进行修复
    声明:作为全网AI领域干货最多的博主之一,❤️不负光阴不负卿❤️????#专栏:#图像修复一文读懂????????Followme????,一起Get更多有趣AI????????这篇论文,这里......
  • iOS上架辅助软件Appuploader
    iosapp上架流程上架基本需求资料1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程)2、开发好的APP通过本篇教程,可以学习到ios证书申请和打包ipa测试上架的完整流程......