【发布时间】:2011-08-31 11:46:12
【问题描述】:
我刚刚被问到A公司的面试问题如下:
问题: 设计一个数据结构,其中有 3 个操作,push、pop 和找到最小值。您应该在恒定时间内完成所有 3 项操作。
我的答案:我会使用一个链表,我可以在恒定时间内进行插入和删除,我会使用额外的内存来存储最小值。
他提出了第二个问题,如果你弹出最小值,你如何找到第二个最小值?再次,在恒定时间内。
你会告诉他什么?
【问题讨论】:
-
那么,你去吧。 3 个体面的答案说同样的事情,以不同的方式实现:P
-
对不起,我的近距离投票中的链接是错误的,但这仍然是 685050 的副本