454. 四数相加 II
func fourSumCount(nums1 []int, nums2 []int, nums3 []int, nums4 []int) int {
// 有一个n^2的算法,很巧妙
// 首先将 nums1+nums2 的值入栈
// 然后在双层遍历 nums3和nums4
var result int = 0
table := map[int]int {}
for _, value1 := range nums1 {
for _, value2 := range nums2 {
table[value1+value2]++
}
}
// 遍历 nums3和nums4
for _, value1 := range nums3 {
for _, value2 := range nums4 {
// value + value1+value2=0
if _, ok := table[-value1-value2]; ok {
result += table[-value1-value2]
}
}
}
return result
}