【算法07天:Day7】第三章哈希表 LeetCode 四数相加II(454)

57 阅读1分钟

题目一:

image.png

解题思路:这个题不需要去重,所以相对其他类似的题,会简单很多。将前两个数组的和 a + b存储在map中,key值为两数组之和,value为相同和的次数,这道题是四个独立的数组,只要找到和为0就可以,不用考虑有重复的四个元素相加等于0的情况。

解题步骤:

1. 首先定义一个map,key放ab两数之和,value放ab两数之和出现的次数。
2. 遍历AB数组,统计两个数组元素之和,和出现的次数,放到map中
3. 定义变量result,用来统计a+b+c+d=0出现的次数
4. 再遍历C和D数组,找到如果0-(c+d)在map中出现过的话,就把result把map中key对应的value也就是出现次数统计出来
5. 最后返回结果值result就可以了。

image.png

总结:这个题基本就都是这种解法,对Map中的get方法和set方法都更加熟悉了。