3162. Find the Number of Good Pairs I

3162. Find the Number of Good Pairs I

Description

You are given 2 integer arrays nums1 and nums2 of lengths n and m respectively. You are also given a positive integer k.

A pair (i, j) is called good if nums1[i] is divisible by nums2[j] * k (0 <= i <= n - 1, 0 <= j <= m - 1).

Return the total number of good pairs.

Example 1:

1
2
3
4
5
6
Input: nums1 = [1,3,4], nums2 = [1,3,4], k = 1

Output: 5

Explanation:
The 5 good pairs are `(0, 0)`, `(1, 0)`, `(1, 1)`, `(2, 0)`, and `(2, 2)`.

Example 2:

1
2
3
4
5
6
7
Input: nums1 = [1,2,4,12], nums2 = [2,4], k = 3

Output: 2

Explanation:

The 2 good pairs are `(3, 0)` and `(3, 1)`.

Constraints:

  • 1 <= n, m <= 50
  • 1 <= nums1[i], nums2[j] <= 50
  • 1 <= k <= 50

Hints/Notes

  • Weekly Contest 399

Solution

Language: C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
public:
int numberOfPairs(vector<int>& nums1, vector<int>& nums2, int k) {
int res = 0;
for (int num1 : nums1) {
for (int num2 : nums2) {
if (num1 % (num2 * k) == 0) {
res++;
}
}
}
return res;
}
};