设计包含min函数的栈
摘要:
题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素,要求函数min、push以及pop的时间复杂度都是O(1)。这道题是我去年参加百度笔试时做的一道题,当时一点头绪都没有,这道题也就没有写。后来上网google一下,这原来是google早些年的一道面试题,难怪我这种菜鸟做不出来!参考网上别人的思路,自己也有了点眉目:在栈里添加一个成员变量存放最小元素(或者最小元素的位置,考虑到元素可以是其他复杂的数据类型,因此存在最小元素的位置更能减少存储空间)。每次push一个新元素进栈的时候,如果该元素比当前的最小元素还要小,则更新最小元素。但这个思路存在一个重要的问题,如果当前最小元素 阅读全文
posted @ 2011-02-24 15:01 弱弱的风 阅读(656) 评论(0) 推荐(0) 编辑