关于哈希表,你该了解这些!
242.有效的字母异位词
1002.查找常用字符
349.两个数组的交集
202.快乐数
1.两数之和
454.四数相加II
383.赎金信
15.三数之和
18.四数之和
哈希表:总结篇!
作者:carlsun-2
链接:https://leetcode-cn.com/problems/find-common-characters/solution/1002-cha-zhao-chang-yong-zi-fu-ha-xi-fa-jing-dian-/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
把数组当作哈希表来用:
https://mp.weixin.qq.com/s/ffS8jaVFNUWyfn_8T31IdA
hashwords=[0]*26 位哈希表
minhashtable = [float(‘inf’)]*26
ord(‘a’) 可以将a转化为相应的数字
chr(数字)可以将数字转化为字符
1002.查找常用字符
给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。
解题思路:
(1)设置一个哈希表,先统计第一个单词中每个字母出现的次数。
(2)再将该哈希表与最小哈希表(全是最大值)进行min操作,返回的就是单词表和最小哈希表中元素的最小值。(即第一个哈希表的值)
(3)遍历所有单词,先统计哈希表,再求最小值。
(4)将每个字母乘最小值的个数进行输出
def commonchars(words):
minhashtable = [float('inf')]*26
for i in words:
hashtable = [0