Leet 码的运行时间差异

Tan*_*ore 7 python performance

在练习 Leet Code 时,我想出了我的解决方案,该解决方案与具有最佳运行时间的解决方案几乎相同。然而,运行时间的差异是显着的。

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

问题是确定给定列表是否有任何重复项。以下是发布的最佳解决方案,运行时间为 41 毫秒。我提交的相同代码的运行时间为 82 毫秒。

class Solution(object):
    def containsDuplicate(self, nums):
        """
        :type nums: List[int]
        :rtype: bool
        """

        if nums == []:
            return False

        s = set(nums)
        return len(s) != len(nums)
Run Code Online (Sandbox Code Playgroud)

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

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

提前致谢。

小智 4

40 毫秒的差异太小了,无法认真对待。python 运行时大约需要那么长时间才能启动。LeetCode 可能对其测试套件、Python 解释器等进行的架构更改最有可能导致这种性能差异。毕竟,您今天提交了您的解决方案,而另一个解决方案是不久前提交的。

  • 这似乎是问题所在。我咨询了leet code关于这个问题。这似乎是一个已知问题,因为它们的基础设施不一致。嗯,谢谢您的回答。 (7认同)