这是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
使用集合。我们知道一个集合不能有重复的值,所以当我们将整数列表强制转换为一个集合时,它会删除重复的值。然后我们要做的就是比较这两种长度。试试这个:
可以这样写
这是一个简单的一行解决方案,我建议您先浏览Python中的所有数据结构,然后尝试在那里提问
您应该使用set而不是两个指针:
另一种方法是使用Hashmaps:
相关问题 更多 >
编程相关推荐