📅  最后修改于: 2023-12-03 14:49:21.153000             🧑  作者: Mango
在计算机科学中,偶数对是由两个偶数组成的有序元组。给定两个整数数组A和B,编写一个函数来计算A和B中所有偶数对的数量。
计算A和B中所有偶数对的数量。
def get_even_pairs(A: List[int], B: List[int]) -> int:
pass
assert get_even_pairs([1,2,3],[1,2,3]) == 1
assert get_even_pairs([1,4,3],[1,2,3,4]) == 2
assert get_even_pairs([3,4,5,6,7],[2,4,6,8]) == 4
遍历A和B数组。
对A数组中的每个偶数S,再遍历B数组,计算数组中有多少个偶数T满足S*T是偶数。
累加每个S的计数器作为结果。
from typing import List
def get_even_pairs(A: List[int], B: List[int]) -> int:
res = 0
for x in A:
if x % 2 == 0:
for y in B:
if y % 2 == 0:
if (x * y) % 2 == 0:
res += 1
return res
时间复杂度为O(n^2),空间复杂度为O(1)。
由于要遍历数组A和B,并且要嵌套遍历,因此时间复杂度为O(n^2)。
空间复杂度为O(1),因为只使用了一个计数器res,没有使用其他的数据结构来存储。