代码随想录Day 06 有效的字母异位词 | 两个数组的交集 | 快乐数 |两数之和

有效的字母异位词

有效的字母异位词

解题思路

创建一个大小为26的数组,每个数组代表着一个字母,通过统计两个字符串中字母的个数来得到最后的结果。统计方法为一加一减,在其中一个字符串中,每有一个字母存在,则在对应下标的数组加1,另外一个字符串就是

知识点

哈希,映射

心得

由于我对于哈希这类题目较为陌生,于是直接看题解,学习了这种类型的题目怎么做。

两个数组的交集

两个数组的交集

解题思路

跟有效的字母异位词的思路相似,只不过字母变成了数字

知识点

哈希,映射

心得

巩固了一下用数组作为哈希表解决问题的算法。

快乐数

快乐数

解题思路

需要用到C++中unordered_set这个数据结构,其本质就是一个哈希表。我们不断地把数的每一位的平方和存进去,当有重复的时候就不是快乐数,如果和为1,就是快乐数。

知识点

set,哈希表

心得

熟悉一下set的用法,这个也是我的薄弱项。

两数之和

两数之和

解题思路

由于是哈希表专项,所以这题我只考虑哈希表的解法,需要用到C++中map这个数据结构,其本质是一个红黑树。只需遍历整个数组,通过map来找寻第二个数。

知识点

map,哈希表

心得

熟悉一下map的用法,现在来看哈希表真的是个非常有用的工具,特别是查找一个数是否在一个集合中。

posted @ 2024-06-27 23:30  不进育碧不改名  阅读(252)  评论(0编辑  收藏  举报