栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

java中的Stack类效率为什么这么慢

Java 更新时间:发布时间: 百科书网 趣学号

起因是在刷leetcode84题柱状图中最大的矩形时,我用的Stack类作为栈使用,结果AC了之后有180ms左右的执行时延,这当然很离谱。

 

然后我去看了一个7ms的答案,发现区别只是他用的栈是自己用数组实现的。

那么这就很奇怪了,按道理说Stack类底层用的也应该是数组吧。不应该会慢这么多。

所以百度了一下,得到如下资料。

 然后我使用了Deque类下的ArrayDeque和LinkedList分别作栈试了下,结果也很奇怪。

ArrayDeque:

LinkedList:

 奇怪的地方在于,我之前一篇博客分析过Deque类和Queue类。这里

按道理讲,LinkedList比ArrayDeque适合作为栈使用,因为效率高。但是在leetcode编辑器中却相反了,我考虑是不是因为栈里存的是整型,所以导致的这种原因。

结论就是,按照这一题的AC情况来说,要想最快,就自己实现个数组栈。否则就用ArrayDeque来作栈使用。

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/1032965.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号