Number of Ways Where Square of Number Is Equal to Product of Two Numbers LeetCode solution in JavaScript

1
var numTriplets = function (nums1, nums2) {
2
const nm1 = new Map(),
3
nm2 = new Map();
4
const n = nums1.length,
5
m = nums2.length;
6
for (let i = 0; i < n; i++) {
7
for (let j = i + 1; j < n; j++) {
8
const product = nums1[i] * nums1[j];
9
if (!nm1.has(product)) nm1.set(product, 0);
10
const arr = nm1.get(product);
11
nm1.set(product, arr + 1);
12
}
13
}
14
for (let i = 0; i < m; i++) {
15
for (let j = i + 1; j < m; j++) {
16
const product = nums2[i] * nums2[j];
17
if (!nm2.has(product)) nm2.set(product, 0);
18
const arr = nm2.get(product);
19
nm2.set(product, arr + 1);
20
}
21
}
22
let ans = 0;
23

24
for (let num of nums1) {
25
const sq = num * num;
26
if (nm2.has(sq)) {
27
ans += nm2.get(sq);
28
}
29
}
30
for (let num of nums2) {
31
const sq = num * num;
32
if (nm1.has(sq)) {
33
ans += nm1.get(sq);
34
}
35
}
36
return ans;
37
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0