Leet代码运行时间的差异

时间:2018-07-02 07:42:31

标签: python performance

在练习Leet Code时,我想出了自己的解决方案,该解决方案几乎与运行时间最佳的解决方案相同。但是,运行时间差异很大。

因此,作为测试,我使用与最佳解决方案相同的精确代码进行了提交,并且运行时间增加而减少。

问题是确定给定列表是否重复。 以下是运行时间为41ms的最佳解决方案。我使用相同代码提交的文件的运行时间为82ms。

if length > 23 then add css-property word-break: break-all;

https://leetcode.com/problems/contains-duplicate/description/

由于我刚开始使用leet代码并试图了解我的解决方案是否最佳,所以我想知道leet代码如何计算运行时间,我们能否信任它来判断我们的解决方案的性能。

谢谢。

4 个答案:

答案 0 :(得分:0)

40ms的差异太低而无法引起重视。 python运行时大约需要很长时间才能启动。 LeetCode可能对其测试套件,python解释器等进行了体系结构更改,最有可能是这种性能差异的原因。毕竟,您今天提交了解决方案,而另一项解决方案是在不久前提交的。

答案 1 :(得分:0)

运行时间始终取决于提供给代码的输入。一些站点具有用于生成测试用例的随机代码。这可能是由于您的情况造成的,运行时间更长;尝试运行几次,然后比较模式,如果相同,则可以将其报告给站点。

答案 2 :(得分:0)

我在使用Java解决方案时遇到了同样的问题。我实现了与运行速度最快的解决方案几乎完全相同的解决方案,并且运行相同的代码3次给了我3种不同的运行时结果:88ms,104ms和74ms。即使运行时差异不是很大,但与其他在线提交相比,它对我的​​百分比产生了很大的影响。 (从104毫秒的23%提交到74毫秒的94%提交)。如果您专注于解决方案与其他提交文件相比所处的位置,我将不胜感激,因为它可能会因运行时的细微变化而大大不同。

答案 3 :(得分:0)

将三个脚本发布到相同的作业,并获得以下内容:

1:我的原始脚本:72s运行时。 2:“最佳”脚本(54秒运行时间示例):75秒运行时间。 3:重新发布我的原始脚本,没有任何变化:80年代运行时间。

它是随机的,有时无法区分其最佳脚本和普通脚本:P