本文最后更新于 241 天前,如有失效请评论区留言。
时间复杂度不高,复杂度为logU(U为遍历最大值)
https://leetcode.cn/problems/find-the-number-of-good-pairs-ii/description/
class Solution:
def numberOfPairs(self, nums1: List[int], nums2: List[int], k: int) -> int:
cnt1 = Counter(x//k for x in nums1 if x%k==0)
cnt2 = Counter(nums2)
if not cnt1:
return 0
ans = 0
u = max(cnt1)
for i, v in cnt2.items():
s = 0
for j in range(i, u+1, i):
s += cnt1[j]
ans += v * s
return ans