第五天| 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

当我们遇到了要快速判断一个元素是否出现集合里的时候,就要思考哈希法。

242.有效的字母异位词 

两个单词,判断是否由一样的字母构成。

统计字母频数即可。这里需要记住一个ord()函数

第五天| 242.有效的字母异位词  349. 两个数组的交集  202. 快乐数 1. 两数之和

 349. 两个数组的交集 

返回两个数组的交集。交聚焦的元素唯一。在python中,由于set很常用,所以很简单。

第五天| 242.有效的字母异位词  349. 两个数组的交集  202. 快乐数 1. 两数之和

202. 快乐数 

断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为  1,那么这个数就是快乐数。

思路:求和过程中,sum可能会重复,陷入无线循环。因此重点是判断这个sum是否重复出现,如果重复了就是return false, 否则一直找到sum为1为止。

第五天| 242.有效的字母异位词  349. 两个数组的交集  202. 快乐数 1. 两数之和

做题时的挣扎点:

逐个位遍历个位数,十位数…开始想用数学方法。但实则用字符串的方式最容易。

1. 两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

思路:遍历一遍,如果num的补数(target – num)在字典内,则返回他们的数组下标。不在,就把num和对应的下标计入字典。

这里既要记录num也要记录下标,用字典最合适。

第五天| 242.有效的字母异位词  349. 两个数组的交集  202. 快乐数 1. 两数之和

以下是卡哥资料

●  哈希表理论基础 

●  242.有效的字母异位词 

●  349. 两个数组的交集 

●  202. 快乐数

●  1. 两数之和   

 详细布置 

 哈希表理论基础 

提议:大家要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,数组,set 和map。  

什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要思考哈希法。  这句话很重大,大家在做哈希表题目都要思考这句话。 

文章讲解:https://programmercarl.com/%E5%93%88%E5%B8%8C%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 

 242.有效的字母异位词 

提议: 这道题目,大家可以感受到 数组 用来做哈希表 给我们带来的遍历之处。 

题目链接/文章讲解/视频讲解: https://programmercarl.com/0242.%E6%9C%89%E6%95%88%E7%9A%84%E5%AD%97%E6%AF%8D%E5%BC%82%E4%BD%8D%E8%AF%8D.html 

 349. 两个数组的交集 

提议:本题就开始思考 什么时候用set 什么时候用数组,本题实则是使用set的好题,但是后来力扣改了题目描述和 测试用例,添加了 0 <= nums1[i], nums2[i] <= 1000 条件,所以使用数组也可以了,不过提议大家忽略这个条件。 尝试去使用set。 

题目链接/文章讲解/视频讲解:https://programmercarl.com/0349.%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E4%BA%A4%E9%9B%86.html 

 202. 快乐数 

提议:这道题目也是set的应用,实则和上一题差不多,就是 套在快乐数一个壳子 

题目链接/文章讲解:https://programmercarl.com/0202.%E5%BF%AB%E4%B9%90%E6%95%B0.html 

 1. 两数之和 

提议:本题虽然是 力扣第一题,但是还是挺难的,也是 代码随想录中 数组,set之后,使用map解决哈希问题的第一题。 

提议大家先看视频讲解,然后尝试自己写代码,在看文章讲解,加深印象。 

题目链接/文章讲解/视频讲解:https://programmercarl.com/0001.%E4%B8%A4%E6%95%B0%E4%B9%8B%E5%92%8C.html

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
巧克小熊加點醬的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容