首页 > 其他分享 >每日一练(剑指offer)包含min函数的栈

每日一练(剑指offer)包含min函数的栈

时间:2023-03-20 23:31:47浏览次数:37  
标签:函数 offer MIN s2 TOP 元素 pop min 栈中

描述

定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。

此栈包含的方法有:

push(value):将value压入栈中

pop():弹出栈顶元素

top():获取栈顶元素

min():获取栈中最小元素

示例:

输入:    ["PSH-1","PSH2","MIN","TOP","POP","PSH1","TOP","MIN"]

输出:    -1,2,1,-1

解析:

"PSH-1"表示将-1压入栈中,栈中元素为-1

"PSH2"表示将2压入栈中,栈中元素为2,-1

“MIN”表示获取此时栈中最小元素==>返回-1

"TOP"表示获取栈顶元素==>返回2

"POP"表示弹出栈顶元素,弹出2,栈中元素为-1

"PSH1"表示将1压入栈中,栈中元素为1,-1

"TOP"表示获取栈顶元素==>返回1

“MIN”表示获取此时栈中最小元素==>返回-1


示例

输入:

["PSH-1","PSH2","MIN","TOP","POP","PSH1","TOP","MIN"]

返回值:

-1,2,1,-1

解题

标签:函数,offer,MIN,s2,TOP,元素,pop,min,栈中
From: https://blog.51cto.com/u_15501985/6138687

相关文章

  • C++温故补缺(五):移动构造函数
    移动构造函数[C11新增]参考:知乎:C++11右值引用和移动构造函数详解.知乎:什么是POD数据类型.C++11之前,对象的拷贝由三个函数决定:拷贝构造函数,拷贝赋值运算符和析构函数......
  • C++温故补缺(四):构造函数和复制构造函数
    构造函数和复制构造函数构造函数对于需要传值的构造函数,如classbox{protected:intX;intY;intZ;public:box(int,in......
  • C++温故补缺(二):lambda函数
    Lambda函数参考:CSDNC++11开始,提供了对匿名函数的支持,成为Lambda函数(表达式)通常,lambda函数用于封装传递给算法或异步方法的几行代码,对应不需要复用,且短小的函数,......
  • C++温故补缺(八):运算符重载和函数重载
    运算符重载和函数重载重载是c++多态性的一大体现,重载运算符是给运算符添加新的定义,使之前不能运算的对象变得可运算,且一般和运算符的意义相似.函数重载主要是同名函数......
  • C++温故补缺(六):友元函数、内联函数和this指针
    友元函数、内联函数和this指针友元函数友元函数是定义在类的外部,但有权访问类的所有私有(private)和保护(protectd)成员.友元函数的原型在类的定义中出现,但它并不是类......
  • #yyds干货盘点#Vue3中的expose函数
    发现expose函数今天在看setupscript语法糖的时候发现有说到context上的​​expose​​​函数,然后就查了一下这个函数,发现是在setRef中被使用到,源码中在对ref的value赋值时......
  • admin使用及models.py中__str__(self)的用法
    1.admin页面中修改成中文表名:   2.models中的__str__用法:   2_2.models中的__str__用法:  ......
  • 力扣---剑指 Offer 53 - II. 0~n-1中缺失的数字
    一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例1:输入:......
  • vue-element-admin安装趟坑
    1、下载源码2、执行npminstall--registry=https://registry.npm.taobao.org如果遇到"gitls-remote-h-t"之类的错误,执行以下代码:gitconfig--globalurl."htt......
  • 剑指Offer 29.顺时针打印矩阵——学习笔记
    题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例1:输入:matrix=[[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例2:输入:matrix=[[1......