题目链接:https://leetcode.cn/problems/4sum-ii/
视频讲解:https://www.bilibili.com/video/BV1Md4y1Q7Yh
一、初见想法
第一眼想直接写四层循环,又知道肯定超时。看到提示哈希表,明白可以用空间换时间来提速。
二、解题思路
1. 把4个数组拆成两组:A+B 和 C+D
2. 先算出A+B所有的和,用哈希表存下每个和出现的次数
3. 再算C+D的和,找哈希表里能凑成0的值,累加数量得到答案
三、遇到的困难
1. 一开始想不到两两分组的拆分技巧
2. 对哈希表存频次、查数据的用法不熟练
3. 分不清本题和双指针版四数之和的区别
4. 担心重复计数出错
四、学习收获
1. 掌握了多数求和的分组哈希通用套路
2. 弄懂了空间换时间的算法优化思路
3. 分清了哈希解法和双指针解法的适用场景
4. 学会了先优化复杂度、再写代码的做题思维
