454.四数相加II
题目链接/文章讲解/视频讲解:代码随想录
先遍历两个列表,用 hashmap 记录下两数之和,index 是和,value 是个数。再遍历另外两个列表,查找两数之和的相反数是否在 hashmap 中。
注意:在遍历后两个列表时,如果两数之和的相反数 在hashmap中,count 不是 +1,而是加上 hashmap 里对应 index 的 value,因为是排列组合。
时间复杂度 ,空间复杂度 。
383. 赎金信
题目链接/文章讲解:代码随想录
是 242.有效的字母异位词 的拓展题,同样可以用 hashmap 或 数组来记录第一个字符串中每个元素出现的次数,然后再遍历第二个字符串,逐个检查。
时间复杂度 O(n),空间复杂度 O(1)。
15. 三数之和
题目链接/文章讲解/视频讲解:代码随想录
因为去重操作比较复杂,哈希法并不是最有效的。本题采用双指针法。先将列表排序徐,然后遍历列表,每次固定一个元素,用左右指针开始寻找满足条件的组合,根据加和的大小来移动左右指针。注意去重操作。
时间复杂度 ,空间复杂度 O(1)。
18. 四数之和
题目链接/文章讲解/视频讲解:代码随想录
三数之和的拓展。
时间复杂度 ,空间复杂度 O(1)。