📅  最后修改于: 2023-12-03 15:27:57.155000             🧑  作者: Mango
给定两个长度为n的数组A和B,求A中有多少个元素大于B中相应位置的元素。
我们可以针对每个元素分别比较A和B中的元素大小,统计A中大于B中相应位置元素的个数并返回,时间复杂度为O(n)。以下是Python代码实现:
def count_pairs(A, B):
"""
计数A中元素大于B中元素的对数
Args:
A: 一个长度为n的数组
B: 一个长度为n的数组
Returns:
A中元素大于B中元素的对数
"""
count = 0
for i in range(len(A)):
if A[i] > B[i]:
count += 1
return count
A = [1, 2, 3, 4]
B = [0, 1, 2, 3]
print(count_pairs(A, B)) # 输出4
A = [4, 3, 2, 1]
B = [0, 1, 2, 3]
print(count_pairs(A, B)) # 输出0
以上程序输出结果如下:
4
0
本题的解题思路是直接遍历,时间复杂度为O(n),代码实现简单。