代码随想录算法训练营第六天 | 242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数 、1. 两数之和

1.哈希表------242.有效的字母异位词

题目链接:242. 有效的字母异位词 - 力扣(LeetCode)

做题思路:  有效的字母异位次,由于给定的两个字符串都为小写字母,所以创建一个数组,将原始字符串的各个字母的个数都存储在数组中,随后将需要判断的字符串中出现的各个字符的个数减去,那么最后对数组进行遍历,如果存在一个字母的个数不为零,那么就不是有效的字母异位次。

2.哈希表------349. 两个数组的交集

题目链接:349. 两个数组的交集 - 力扣(LeetCode)

做题思路:求两个数组的交集,那么需要找到两个数组中共有的数,因为数组要求去重,同时对最后的交集结果的顺序没有要求,那么采用unordered_set容器,它具有无序,去重,速度快的优点。首先将一个数组中的内容存入到一个unordered_set容器中,此时的容器中就已经是去重后的结果了,再拿另一个数组中的元素与容器中的元素进行比较,如果数组中的元素存在于容器中,那么就将该元素存入结果容器中,由于结果容器采用unordered_set容器能够自动去重,所以即使数组中存在重复元素,也不用担心重复。

3.哈希表------202. 快乐数

题目链接:202. 快乐数 - 力扣(LeetCode)

做题思路:一个数字只有是快乐数和非快乐数两种,快乐数的在n次计算后结果会变成1,而非快乐书的结果在最后会变成一个循环。本题的重点首先在于,首先将该数字拆开,然后将每次的计算结果放入unordered_set容器中,判断是否有循环出现,如果运算结果出现在容器中,那么就不是快乐数,如果不出现循环,最后结果为1,则为快乐数。

4.哈希表------1. 两数之和

题目链接:1. 两数之和 - 力扣(LeetCode)

做题思路:该题的数据唯一且答案唯一,因为返回值需要返回下标,所以使用unordered_map容器来记录数据,使用一个for循环来遍历数据,判断数值中是否存在能与当下值相加等于target的数据,有则返回。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值