首页 > 解决方案 > Can this solution to "Contains Duplicate" be done more Pythonically?

问题描述

这是 LeetCode 问题“包含重复”的解决方案。我尝试使用enumerate(nums[1:])而不是range(1, len(nums)),但由于枚举始终从 0 开始,我无法弄清楚如何以简洁明了的方式执行此操作。

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        nums.sort()
        
        pointer2 = 0
                
        for pointer1 in range(1, len(nums)):
            if nums[pointer1] == nums[pointer2]:
                return True
            pointer2 = pointer1
            
        return False

标签: pythonpython-3.x

解决方案


使用套装。我们知道集合不能有重复值,所以当我们将整数列表转换为集合时,它会删除重复值。然后我们要做的就是比较两个长度。尝试这个:

return len(set(nums)) == len(nums)

推荐阅读