Leetcode包含重复项:哈希表混乱

问题描述 投票:1回答:1

我正在尝试自学DS + A,但遇到了一些问题。

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

对于这个问题,我想到的第一个方法是哈希表。我知道您可以使用一组衬里,但是我想尝试使用哈希表。

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 ```
python hashtable
1个回答
0
投票

这里是经过稍微修改的解决方案,通过了指定的测试条件

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        dis={}
        for el in nums:
            if el in dis.keys():
                return True
            else:
                dis[el]=1
        return False
© www.soinside.com 2019 - 2024. All rights reserved.