mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-07 15:45:40 +08:00
Merge pull request #2563 from Yan0613/master
Update 0454.四数相加II.md,修改四数相加IIGo版本的解答代码
This commit is contained in:
@ -185,22 +185,28 @@ class Solution:
|
||||
### Go:
|
||||
|
||||
```go
|
||||
func fourSumCount(nums1 []int, nums2 []int, nums3 []int, nums4 []int) int {
|
||||
m := make(map[int]int) //key:a+b的数值,value:a+b数值出现的次数
|
||||
count := 0
|
||||
// 遍历nums1和nums2数组,统计两个数组元素之和,和出现的次数,放到map中
|
||||
func fourSumCount(nums1 []int, nums2 []int, nums3 []int, nums4 []int) int {
|
||||
m := make(map[int]int)
|
||||
count := 0
|
||||
|
||||
// 构建nums1和nums2的和的map
|
||||
for _, v1 := range nums1 {
|
||||
for _, v2 := range nums2 {
|
||||
m[v1+v2]++
|
||||
}
|
||||
}
|
||||
// 遍历nums3和nums4数组,找到如果 0-(c+d) 在map中出现过的话,就把map中key对应的value也就是出现次数统计出来
|
||||
for _, v3 := range nums3 {
|
||||
for _, v4 := range nums4 {
|
||||
count += m[-v3-v4]
|
||||
}
|
||||
}
|
||||
return count
|
||||
for _, v2 := range nums2 {
|
||||
m[v1+v2]++
|
||||
}
|
||||
}
|
||||
|
||||
// 遍历nums3和nums4,检查-c-d是否在map中
|
||||
for _, v3 := range nums3 {
|
||||
for _, v4 := range nums4 {
|
||||
sum := -v3 - v4
|
||||
if countVal, ok := m[sum]; ok {
|
||||
count += countVal
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return count
|
||||
}
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user