Python Leetcode包含重复:哈希表混淆

Python Leetcode包含重复:哈希表混淆,python,hashtable,Python,Hashtable,我试着自学DS+A,但也有一些问题 对于这个问题,我想到的第一个方法是哈希表。我知道你可以用集合做一行,但我想尝试使用哈希表 class Solution: def containsDuplicate(self, nums: List[int]) -> bool: duplicates={} for i in range(len(nums)): if i in duplicates: retu

我试着自学DS+A,但也有一些问题

对于这个问题,我想到的第一个方法是哈希表。我知道你可以用集合做一行,但我想尝试使用哈希表

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        duplicates={}
        for i in range(len(nums)):
            if i in duplicates:
                return False
            return True
它通过11/18个案例,但对于[0]的测试案例,当预期输出为False时,它返回True。我似乎不明白为什么它返回False

我明白了。Return语句太深,我必须为每个循环更新它

    def containsDuplicate(self, nums: List[int]) -> bool:
        duplicates={}
        for i in nums:
            if i in duplicates:
                return True
            else:
                duplicates[i] = 0
        return False ```

是否要检查
i
是否在
duplicates
中,或者
nums[i]
是否在
duplicates
中?在哪里向哈希表添加元素?我想检查
nums
中的任何数字是否在
中重复。如果是,则返回
True
,否则返回
False
。问题是[0]的testcase预期为False,我不知道为什么。因为0没有重复项。重复项始终为空。是否要检查
i
是否在
duplicates
中,或者
nums[i]
是否在
duplicates
中?在哪里向哈希表添加元素?我想检查
nums
中的任何数字是否在
中重复。如果是,则返回
True
,否则返回
False
。问题是[0]的testcase预期为False,我不知道为什么。因为0没有重复项。副本总是空的。