java中的Stack类效率为什么这么慢
起因是在刷leetcode84题柱状图中最大的矩形时,我用的Stack类作为栈使用,结果AC了之后有180ms左右的执行时延,这当然很离谱。
然后我去看了一个7ms的答案,发现区别只是他用的栈是自己用数组实现的。
那么这就很奇怪了,按道理说Stack类底层用的也应该是数组吧。不应该会慢这么多。
所以百度了一下,得到如下资料。
然后我使用了Deque类下的ArrayDeque和LinkedList分别作栈试了下,结果也很奇怪。
ArrayDeque:
LinkedList:
奇怪的地方在于,我之前一篇博客分析过Deque类和Queue类。 这里
按道理讲,LinkedList比ArrayDeque适合作为栈使用,因为效率高。但是在leetcode编辑器中却相反了,我考虑是不是因为栈里存的是整型,所以导致的这种原因。
结论就是,按照这一题的AC情况来说,要想最快,就自己实现个数组栈。否则就用ArrayDeque来作栈使用。
canxiusi: 为啥 使用 vm 虚拟机没办法启动
凱凱我菜菜菜: 取水不忘挖井人!!
zlldx124: 你好,能请问你是怎么解决的吗?
xiaozoom: 直接用gunicorn呢?还慢么
tina0135: unable to access, could not solve host