📅  最后修改于: 2023-12-03 15:11:58.762000             🧑  作者: Mango
该程序解决的问题是计算出两个数组中所有元素的对,其差值超过了给定的K值。这个问题可以转化为在一个数组中,计算两个元素之间的差值是否大于K,从而避免了对两个数组的遍历。
def count_pairs(arr1: List[int], arr2: List[int], k: int) -> int:
arr1.sort()
arr2.sort()
count = 0
j = 0
for x in arr1:
while j < len(arr2) and arr2[j] < x + k:
j += 1
count += len(arr2) - j
return count
输入:
arr1 = [1, 2, 3]
arr2 = [3, 4, 5]
k = 1
输出:
2
输入:
arr1 = [1, 10, 6, 4, 7]
arr2 = [9, 2, 5, 8, 3]
k = 2
输出:
5