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

1
class Solution {
2
public:
3
int numTriplets(vector<int> &nums1, vector<int> &nums2) {
4
unordered_map<long, int> m1, m2;
5
for (int i : nums1) m1[(long long)i * i]++;
6
for (int i : nums2) m2[(long long)i * i]++;
7

8
int ans = 0;
9

10
for (int i = 0; i < nums2.size() - 1; i++) {
11
for (int j = i + 1; j < nums2.size(); j++) {
12
if (m1[(long long)nums2[i] * nums2[j]]) {
13
ans += m1[(long long)nums2[i] * nums2[j]];
14
}
15
}
16
}
17
for (int i = 0; i < nums1.size() - 1; i++) {
18
for (int j = i + 1; j < nums1.size(); j++) {
19
if (m2[(long long)nums1[i] * nums1[j]]) {
20
ans += m2[(long long)nums1[i] * nums1[j]];
21
}
22
}
23
}
24
return ans;
25
}
26
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0