【发布时间】:2021-04-12 02:43:50
【问题描述】:
我有一个关于以下关于哈希表的代码的快速问题。对于第 5 行 - 发生了什么?所以我们将 'hash_table' 初始化为字典。然后对于 nums 中的每个元素 'i' 我们做 hash_table[i]??但是 hash_table 是空的 - 因为刚刚初始化它?这就是我感到困惑的地方。 说我们通过 hash_table['i'] 定义键是否正确?如果是这样,为什么+=1? (PS nums 是一个整数列表)
class Solution:
def singleNumber(self, nums: List[int]) -> int:
hash_table = defaultdict(int)
for i in nums:
hash_table[i] += 1
for i in hash_table:
if hash_table[i] == 1:
return i
【问题讨论】:
-
这能回答你的问题吗? How does collections.defaultdict work?
-
这个名字是谁选的?它不是真正的
hash_table,而是一个简单的计数器…… -
请注意
collections.Counter可能更适合此用例。