LeetCode 上普遍 C/C++的 runtime 要甩开其他语言 但这个题目却很奇葩

2015-07-06 18:31:50 +08:00
 carlhan

LeetCode这个题目Python的速度为什么会比C和C++快那么多?

3036 次点击
所在节点    Python
9 条回复
Monad
2015-07-06 18:56:16 +08:00
目测是被vector::push_back坑了 没有先reserve
我回去试试
Monad
2015-07-06 19:57:16 +08:00
呃 试了一下并不是…坐等莫非是编译选项不对导致STL太慢了?
坐等解答
br00k
2015-07-06 20:16:11 +08:00
java已哭晕,貌似再简单基本都在200ms+
zhyu
2015-07-06 20:33:26 +08:00
快两年前写的,cpp 80ms……
picasso250
2015-07-07 20:02:08 +08:00
用C写了一个,果然很慢。500+ms

思路:用二分法找到左边需要复制的,再用二分法找到右边需要复制的,算出 returnSize ,malloc,再用memcpy复制。

难道这题有什么其他算法?
alexapollo
2015-07-07 21:21:58 +08:00
@picasso250 感觉二分法在极限场景不讨好
picasso250
2015-07-08 15:23:01 +08:00
@alexapollo 对,我最先试验的是顺序查找,结果和二分法差不多。
ChangxuBlack
2015-07-10 17:39:11 +08:00
怎么不考虑用线段树啊?
ChangxuBlack
2015-07-10 18:24:28 +08:00
会不会是测试数据不一样导致C/C++慢那么多?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/203743

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX