From b0f84a4b357f1413118536e55f6c37c460d32674 Mon Sep 17 00:00:00 2001 From: Yuhao Ju Date: Thu, 24 Nov 2022 21:42:38 +0800 Subject: [PATCH] =?UTF-8?q?update=200454.=E5=9B=9B=E6=95=B0=E7=9B=B8?= =?UTF-8?q?=E5=8A=A0II=EF=BC=9A=E5=AE=8C=E5=96=84=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0454.四数相加II.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/problems/0454.四数相加II.md b/problems/0454.四数相加II.md index d9fd5c04..07c3f711 100644 --- a/problems/0454.四数相加II.md +++ b/problems/0454.四数相加II.md @@ -168,13 +168,15 @@ Go: ```go func fourSumCount(nums1 []int, nums2 []int, nums3 []int, nums4 []int) int { - m := make(map[int]int) + m := make(map[int]int) //key:a+b的数值,value:a+b数值出现的次数 count := 0 - for _, v1 := range nums1 { + // 遍历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] @@ -197,14 +199,14 @@ javaScript: var fourSumCount = function(nums1, nums2, nums3, nums4) { const twoSumMap = new Map(); let count = 0; - + // 统计nums1和nums2数组元素之和,和出现的次数,放到map中 for(const n1 of nums1) { for(const n2 of nums2) { const sum = n1 + n2; twoSumMap.set(sum, (twoSumMap.get(sum) || 0) + 1) } } - + // 找到如果 0-(c+d) 在map中出现过的话,就把map中key对应的value也就是出现次数统计出来 for(const n3 of nums3) { for(const n4 of nums4) { const sum = n3 + n4;