我问这个问题的原因是因为我不明白为什么我认为的方式不能应用于这个特定问题
“你会如何设计一个堆栈,除了 push 和 pop,还有一个函数 min 可以返回最小元素?push、pop 和 min 都应该在 O(1) 时间内运行”
我的基本解决方案:如果我们在堆栈类中有一个变量,那么当我们将一个项目推入堆栈时,我们会检查它是否小于我们的最小变量。如果将值分配给最小值,则忽略。
你仍然会得到 O(1) 作为 min 函数;
int getMinimum(){
return min;
}
为什么从未提及此解决方案,或者我的想法有什么问题?