题目:
代码思路:根据特征进行归类就用散列表。字母异位词其根据字母大小顺序排序后的key值一样,一样的就添加到一起,作为value值。
散列表确实是哈希表的一种表述。它们都是指根据键(Key)直接访问在内存存储位置的数据结构。散列函数用于将键值映射到一个数组的位置,这样就可以在接近 O(1) 的时 间内快速地查找对应的值。
哈希表通常由哈希函数和数组组成,哈希函数负责将输入映射到唯一的数字,而数组则包含了这些数字对应的键值对。哈希表的设计使得它可以快速地定位到特定的记录,而不需要逐个与其他记录进行比较。
import collections
class Solution:
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
mp = collections.defaultdict(list)
for st in strs:
key = "".join(sorted(st))
mp[key].append(st)
return list(mp.values())