Leetcode3162:优质数对的总数 I
题目描述:
给你两个整数数组 nums1
和 nums2
,长度分别为 n
和 m
。同时给你一个正整数 k
。
如果 nums1[i]
可以除尽 nums2[j] * k
,则称数对 (i, j)
为 优质数对(0 <= i <= n - 1
, 0 <= j <= m - 1
)。
返回 优质数对 的总数。
代码思路:
- 初始化计数器:
ans
用于记录满足条件的数字对数量,初始化为0。
- 双层循环遍历:
- 外层循环遍历
nums1
中的每个元素num1
。 - 内层循环遍历
nums2
中的每个元素num2
。
- 外层循环遍历
- 条件判断:
- 在内层循环中,检查
num1
是否能被num2 * k
整除。 - 若能整除,即
num1 % (num2 * k) == 0
,则将计数器ans
加1。
- 在内层循环中,检查
- 返回结果:
- 双层循环结束后,返回计数器
ans
的值,即满足条件的数字对总数。
- 双层循环结束后,返回计数器
代码实现:
class Solution:
def numberOfPairs(self, nums1: List[int], nums2: List[int], k: int) -> int:
ans = 0
for num1 in nums1:
for num2 in nums2:
if num1 % (num2 * k) == 0:
ans += 1
return ans