我提出这个问题的原因是因为我不明白为什么我所想到的方法不能应用于这个特定的问题。
我的基本解决方案:如果我们在 stack 类中有一个变量,每当我们将一个项目推入栈时,我们会检查它是否 小于 我们的 min 变量。如果是,则将值分配给最小值,否则忽略。
您仍将获得 O(1),因为 min 函数将会;
为什么从来没有人提到这个解决方案,或者我思考的方式有什么问题?
我的基本解决方案:如果我们在 stack 类中有一个变量,每当我们将一个项目推入栈时,我们会检查它是否 小于 我们的 min 变量。如果是,则将值分配给最小值,否则忽略。
您仍将获得 O(1),因为 min 函数将会;
int getMinimum(){
return min;
}
为什么从来没有人提到这个解决方案,或者我思考的方式有什么问题?