本文最后更新于 521 天前,如有失效请评论区留言。
时间复杂度不高,复杂度为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