代码随想录37期|LeetCode 242.有效的字母异位词,LeetCode 349. 两个数组的交集 ,LeetCode 202. 快乐数,LeetCode 1. 两数之和

1.有效的字母异位词
哈希表:哈希表是根据关键码的值而直接进行访问的数据结构,数组就是一张哈希表
遇到需要判断一个元素是否出现过的场景也应该第一时间想到哈希法
异位词:字母相同,顺序不同,相同也行
做法:统计字母出现的频率,将原数组中的每个元素都与’a‘做差值,能得到每个元素与’a‘的相对位置,在这个位置++
注意:多想想其中的哈希映射,有26个字母所以要26长度的数组,如果是1W的数字,那可能需要最少1W长度的数组,为了每个值都有一个映射

2.两个数组的交集
set
思路:把其中一个集合转化成哈希表,另一个去比较
unordered_set 可以去重
set.find()的用法,find在容器中找到的值是返回迭代器,找不到就返回迭代器end()
数组
出现过的元素在哈希表中值为1

3.两数之和
map
要点:为什么用数组的值(元素),作为key,考虑我们的目的是查找某个元素值是否出现过
为什么想到哈希表
为什么用map
map是用来做什么的,存放遍历过的元素
key和value存什么

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值