标签: algorithm data-structures
我最近在接受采访时得到了这个问题: 设计支持2种操作的数据结构: 1.推(N) - 存储一个数字 2. popmin() - 提取所有存储数字的当前最小值并将其从存储中删除 push和popmin都必须在O(1)时间内执行。 起初我想过使用2个堆栈,但只允许获得最小数量,而不是删除它。 有什么想法吗?
答案 0 :(得分:0)
有很多heaps允许在O(1)中插入和查找min。问题是删除min需要O(log N)。这似乎意味着任何信息都缺失或不正确。