首先来讲下哈希表的定义。
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。(转自百度百科)
下面进行示例分析
本题不考虑其他解法,只考虑哈希表的解法
class Solution:
def singleNumber(self, nums: List[int]) -> int:
freq = collections.Counter(nums) #计算nums数组出现的频率;直接建立哈希表
ans = [num for num, occ in freq.items() if occ == 1][0] #找出出现频率为1词的数,并返回
return ans
这里通过collections.counter直接建立了哈希表。