有效的字母异位词
![](https://img.haomeiwen.com/i15056986/170e69ddd453693c.png)
题解:
首先我们要了解什么是字母异位词:根据题中定义:若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。
那就是说我们需要定义一个临时的哈希表,python中称为字典,来存放字符串s中的每个字符出现的次数形式为tmp = {"s": num},然后判断t中的每个字符是否在字典tmp中,若在,就减一,然后遍历tmp中的每个key对应的value值是否都为0,若不为0,则说明他们不是字母异位词。
代码:
![](https://img.haomeiwen.com/i15056986/9b4e7cff6579a6c3.png)
两个数组的交集
![](https://img.haomeiwen.com/i15056986/29a61c0dfbd36da9.png)
题解:
使用集合和字典:集合的目的是为了去重
我们先将两个数组去重,然后将其中的nums1数组字典化table,然后判断nums2数组中的数据是否在字典table中,在的话就放到结果数组res中
代码:
![](https://img.haomeiwen.com/i15056986/2eb646e9383d9e7f.png)
快乐数
![](https://img.haomeiwen.com/i15056986/ce5517bae390f3e3.png)
题解:
获取每个位数的数字使用取余10,然后通过整除10来删除已经计算过的位数,如下:
n = n % 10
n = n // 10
题目中已经说明,此可能是无限循环,那么使用while 条件的话一直为真,只有在循环体能有满足条件与不满足才能跳出这个死循环。
![](https://img.haomeiwen.com/i15056986/2bf111ba6edf2e25.png)
两数之和
![](https://img.haomeiwen.com/i15056986/c80c4964acf3793a.png)
题解:
使用哈希表来处理,创建一个字典,里面存储的是列表的数值以及其在列表中的下标,我们在遍历列表的同时,判断target - 当前value值是否在字典中,若存在我们获取字典中这个差值的对应的值,以及当前index值
![](https://img.haomeiwen.com/i15056986/86209e0d6d216d8a.png)
网友评论