面试题21:包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够找得到栈的最小元素的min函数。在该栈中,调用min,push以及pop的时间复杂度都是O(1)

思路:如果每次都把最小元素压入辅助栈,就能保证辅助栈的栈顶一直都是最小元素。当最小元素从数据栈内被弹出来之后,同时弹出辅助栈的栈顶元素,此时辅助栈的新栈顶元素就是下一个最小值。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 代码实现 主要思路 1、这道题需...
    _minimal阅读 3,785评论 0 0
  • 问题:定义栈的数据结构,请在该类型中实现min()接口 解法:除了正常的数据栈之外,开辟一个辅助栈。数据栈入栈时,...
    qmss阅读 1,418评论 0 0
  • 一、栈 1.1 栈的实现 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。java没有栈这样的数据结...
    yjaal阅读 5,302评论 0 1
  • 总结 想清楚再编码 分析方法:举例子、画图 第1节:画图分析方法 对于二叉树、二维数组、链表等问题,都可以采用画图...
    M_巴拉巴拉阅读 4,944评论 0 7
  • “坤元守静,定能生慧。” 佛手山下天齐禅寺大雄宝殿的台阶下,小白如是对我说。 “女为坤卦,元为初始,作为女性若能安...
    木春阅读 3,682评论 9 3

友情链接更多精彩内容