1.哈希表------242.有效的字母异位词
题目链接:242. 有效的字母异位词 - 力扣(LeetCode)
做题思路: 有效的字母异位次,由于给定的两个字符串都为小写字母,所以创建一个数组,将原始字符串的各个字母的个数都存储在数组中,随后将需要判断的字符串中出现的各个字符的个数减去,那么最后对数组进行遍历,如果存在一个字母的个数不为零,那么就不是有效的字母异位次。
2.哈希表------349. 两个数组的交集
题目链接:349. 两个数组的交集 - 力扣(LeetCode)
做题思路:求两个数组的交集,那么需要找到两个数组中共有的数,因为数组要求去重,同时对最后的交集结果的顺序没有要求,那么采用unordered_set容器,它具有无序,去重,速度快的优点。首先将一个数组中的内容存入到一个unordered_set容器中,此时的容器中就已经是去重后的结果了,再拿另一个数组中的元素与容器中的元素进行比较,如果数组中的元素存在于容器中,那么就将该元素存入结果容器中,由于结果容器采用unordered_set容器能够自动去重,所以即使数组中存在重复元素,也不用担心重复。
3.哈希表------202. 快乐数
做题思路:一个数字只有是快乐数和非快乐数两种,快乐数的在n次计算后结果会变成1,而非快乐书的结果在最后会变成一个循环。本题的重点首先在于,首先将该数字拆开,然后将每次的计算结果放入unordered_set容器中,判断是否有循环出现,如果运算结果出现在容器中,那么就不是快乐数,如果不出现循环,最后结果为1,则为快乐数。
4.哈希表------1. 两数之和
做题思路:该题的数据唯一且答案唯一,因为返回值需要返回下标,所以使用unordered_map容器来记录数据,使用一个for循环来遍历数据,判断数值中是否存在能与当下值相加等于target的数据,有则返回。