您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    被大厂面试官问烂的算法图解:你还不明白如何找出栈中的最小值?(3)
    时间:2020-10-16 21:02 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    上述代码在 LeetCode 的执行结果如下:

    被大厂面试官问烂的算法图解:你还不明白如何找出栈中的最小值?

    从结果可以看出,运用 Java 中自带的栈的功用不如自定义数组的栈,但代码还是经过了测试。这种完成方式的优点就是代码比较复杂,可以应用了 Java 本身的 API 来完成了最小值的查找。

    这种实现代码的方式(运用 Java API),在刷题或许实践面试中假设没有特殊阐明是可以直接用的。

    总结

    本文我们经过两种方式:自定义数组栈和 Java API 中的 Stack 来完成了栈中最小值的功用,保证了在调用栈的 min、push 及 pop 办法时的时间复杂度都是 O(1)。两种完成方式的代码虽然略不相反,但完成思绪都是一样的,都是在元素入栈时判别以后元素能否小于最小元素,假设小于最小元素则先将原最小值入栈,再将以后最小元素入栈,这样当调用 pop 办法时,即使移除的是最小值,只需求将下一个元素取出即为新的最小值了,这样就可以完成调用 min、push 及 pop 办法时的时间复杂度都是 O(1) 了。

    (责任编辑:admin)