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:
|
||||||
|
|
||||||
```go
|
```go
|
||||||
func fourSumCount(nums1 []int, nums2 []int, nums3 []int, nums4 []int) int {
|
func fourSumCount(nums1 []int, nums2 []int, nums3 []int, nums4 []int) int {
|
||||||
m := make(map[int]int) //key:a+b的数值,value:a+b数值出现的次数
|
m := make(map[int]int)
|
||||||
count := 0
|
count := 0
|
||||||
// 遍历nums1和nums2数组,统计两个数组元素之和,和出现的次数,放到map中
|
|
||||||
|
// 构建nums1和nums2的和的map
|
||||||
for _, v1 := range nums1 {
|
for _, v1 := range nums1 {
|
||||||
for _, v2 := range nums2 {
|
for _, v2 := range nums2 {
|
||||||
m[v1+v2]++
|
m[v1+v2]++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 遍历nums3和nums4数组,找到如果 0-(c+d) 在map中出现过的话,就把map中key对应的value也就是出现次数统计出来
|
|
||||||
for _, v3 := range nums3 {
|
// 遍历nums3和nums4,检查-c-d是否在map中
|
||||||
for _, v4 := range nums4 {
|
for _, v3 := range nums3 {
|
||||||
count += m[-v3-v4]
|
for _, v4 := range nums4 {
|
||||||
}
|
sum := -v3 - v4
|
||||||
}
|
if countVal, ok := m[sum]; ok {
|
||||||
return count
|
count += countVal
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return count
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user