Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit cb6eaa9

Browse files
committed
Add solution #454
1 parent cd33d33 commit cb6eaa9

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

0454-4sum-ii.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* 454. 4Sum II
3+
* https://leetcode.com/problems/4sum-ii/
4+
* Difficulty: Medium
5+
*
6+
* Given four integer arrays nums1, nums2, nums3, and nums4 all of length n, return the number
7+
* of tuples (i, j, k, l) such that:
8+
* - 0 <= i, j, k, l < n
9+
* - nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0
10+
*/
11+
12+
/**
13+
* @param {number[]} nums1
14+
* @param {number[]} nums2
15+
* @param {number[]} nums3
16+
* @param {number[]} nums4
17+
* @return {number}
18+
*/
19+
var fourSumCount = function(nums1, nums2, nums3, nums4) {
20+
const map = new Map();
21+
nums1.forEach(n1 => {
22+
nums2.forEach(n2 => map.set(n1 + n2, (map.get(n1 + n2) || 0) + 1));
23+
});
24+
return nums3.reduce((count, n3) => {
25+
return count + nums4.reduce((sum, n4) => sum + (map.get(-(n3 + n4)) || 0), 0);
26+
}, 0);
27+
};

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,7 @@
307307
450|[Delete Node in a BST](./0450-delete-node-in-a-bst.js)|Medium|
308308
451|[Sort Characters By Frequency](./0451-sort-characters-by-frequency.js)|Medium|
309309
452|[Minimum Number of Arrows to Burst Balloons](./0452-minimum-number-of-arrows-to-burst-balloons.js)|Medium|
310+
454|[4Sum II](./0454-4sum-ii.js)|Medium|
310311
456|[132 Pattern](./0456-132-pattern.js)|Medium|
311312
459|[Repeated Substring Pattern](./0459-repeated-substring-pattern.js)|Easy|
312313
461|[Hamming Distance](./0461-hamming-distance.js)|Easy|

0 commit comments

Comments
 (0)