File tree Expand file tree Collapse file tree 1 file changed +21
-15
lines changed Expand file tree Collapse file tree 1 file changed +21
-15
lines changed Original file line number Diff line number Diff line change @@ -185,22 +185,28 @@ class Solution:
185185### Go:
186186
187187``` go
188- func fourSumCount (nums1 []int , nums2 []int , nums3 []int , nums4 []int ) int {
189- m := make (map [int ]int ) // key:a+b的数值,value:a+b数值出现的次数
190- count := 0
191- // 遍历nums1和nums2数组,统计两个数组元素之和,和出现的次数,放到map中
188+ func fourSumCount (nums1 []int , nums2 []int , nums3 []int , nums4 []int ) int {
189+ m := make (map [int ]int )
190+ count := 0
191+
192+ // 构建nums1和nums2的和的map
192193 for _ , v1 := range nums1 {
193- for _ , v2 := range nums2 {
194- m[v1+v2]++
195- }
196- }
197- // 遍历nums3和nums4数组,找到如果 0-(c+d) 在map中出现过的话,就把map中key对应的value也就是出现次数统计出来
198- for _ , v3 := range nums3 {
199- for _ , v4 := range nums4 {
200- count += m[-v3-v4]
201- }
202- }
203- return count
194+ for _ , v2 := range nums2 {
195+ m[v1+v2]++
196+ }
197+ }
198+
199+ // 遍历nums3和nums4,检查-c-d是否在map中
200+ for _ , v3 := range nums3 {
201+ for _ , v4 := range nums4 {
202+ sum := -v3 - v4
203+ if countVal , ok := m[sum]; ok {
204+ count += countVal
205+ }
206+ }
207+ }
208+
209+ return count
204210}
205211```
206212
You can’t perform that action at this time.
0 commit comments