首页 > 其他分享 >leetcode155.最小栈

leetcode155.最小栈

时间:2025-01-23 10:53:21浏览次数:1  
标签:leetcode155 obj val int 最小 MinStack include stack

leetcode155.最小栈

思路

用两个栈,一个用来存本身,一个用来存最小值。

代码

#include <iostream>
#include <memory>
#include <stack>

class MinStack {
public:
    MinStack() {}
    
    void push(int val) {
        _normal_stack.push(val);
        if(_min_stack.empty() || val <= _min_stack.top()) 
            _min_stack.push(val);
    }
    
    void pop() {
        int result = _normal_stack.top();
        _normal_stack.pop();
        if(result == _min_stack.top())
            _min_stack.pop();
    }
    
    int top() {
        return _normal_stack.top();
    }
    
    int getMin() {
        return _min_stack.top();
    }
private:
    std::stack<int> _normal_stack, _min_stack;
};

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

标签:leetcode155,obj,val,int,最小,MinStack,include,stack
From: https://www.cnblogs.com/smartljy/p/18687301

相关文章

  • 有符号数的最小值
    基础:1.为了进行负数运算,计算机使用补码形式存储数据2.其中正数的补码是其本身,负数的补码是其除符号位的数取反+13.有符号数据的负数范围会比正数范围多14.当题目询问一个有符号数最小值是多少时,需要使用补码形式回答,及最小值是1000...例:负数:1000的补码是1111+......
  • 目前移动端的最小点击区域是多少呢?
    在前端开发中,移动端的最小点击区域是一个重要的设计考虑因素,它确保了用户能够准确、方便地点击到界面上的元素。根据公开发布的信息,移动端的最小点击区域通常推荐为44x44像素(px)。这一尺寸是基于手指触摸屏幕时的平均大小和精度来确定的,有助于防止用户点击时发生误触或点击不准确的......
  • 从一个无序的整数数组中,找出最小和最大数之间缺失的数字,要求最小的时间复杂度
    为了找出无序整数数组中最小和最大数之间缺失的数字,我们首先需要确定最小和最大的数字。这可以通过遍历数组一次来实现,时间复杂度为O(n),其中n是数组的长度。一旦我们有了最小和最大的数字,我们可以检查它们之间的所有数字是否都存在于数组中。但是,如果直接遍历检查每个数字,时间复......
  • 最小生成树Prim
    该算法的基本思想是从一个结点开始,不断加点.每次要选择距离最小的一个结点,以及用新的边更新其他结点的距离。从任意一个结点开始,将结点分成两类:已加入的,未加入的。每次从未加入的结点中,找一个与已加入的结点之间边权最小值最小的结点然后将这个结点加入,并连上那条边权最小的边......
  • 使用贪心算法解决最小生成树问题
    大家好,我是V哥。今天跟大家聊一聊贪心算法问题,因为遇到这个面试题,问贪心算法解决最小生成树是怎么设计的,以及如何应用?好家伙,这面试官一上来就不按套路出牌,直接上难度,如果你遇到这样的问题,该怎么办呢。下面V哥来详细聊一聊。贪心算法解决最小生成树问题的一般步骤一、解决思......
  • 以太网帧的最小长度和最大长度
    以太网帧的长度范围是有明确规定的。以太网帧的最小长度是64字节,最大长度是1518字节。‌最小长度‌:64字节。这个长度包括了14字节的帧头(目的MAC地址6字节、源MAC地址6字节、类型/长度字段2字节)、46字节的有效载荷(数据部分)和4字节的帧校验序列(FCS)。以太网帧之所以设置最小长度,是......
  • 在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?(转)
    在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?以太网(IEEE802.3)帧格式:1、前导码:7字节0x55,一串1、0间隔,用于信号同步2、帧起始定界符:1字节0xD5(10101011),表示一帧开始3、DA(目的MAC):6字节4、SA(源MAC):6字节5、类型/长度:2字节,0~1500保留为长度域值,1536~65535保留......
  • 2025寒假哈工大ACM集训_最小生成树
    好不容易终于做完了,(最后一题是黑题并且还是数学不想做)所谓“做了不总结==没做”,特此写一下常用函数和思路吧。一些基本模板函数:longlongfindroot(longlongx){returnx==rt[x]?x:rt[x]=findroot(rt[x]);}voidun(longlongx,longlongy){rt[findro......
  • 文件格式分析 --- 最小class
    class是java编译后的可执行的字节码文件。下面是javapackagecom.example;publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorldbygk");}} 编译后的二进制  用ida反汇编;+-----------------......
  • 2025dsfz集训Day5:最短路与最小生成树
    DAY5I:最小生成树生成树及最小生成树生成树是从一张无向连通图中选取一些边构成一张新图,使得这张图是是一棵树最小生成树即是让上述的生成树的边权和最小同时,最小生成树也会有一些性质在最小生成树上,两个点路径上经过的边权最小值即是这个点在原图中所有路径中可能经过......