大O符号与itertools.产品和for循环

2024-04-25 09:04:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个整数数组,我想得到两个数组中任意元素之间的最小绝对差。我有两种不同的方法。两种方法看起来都差不多,但我不明白这两种方法有什么大不了的。 它们都是O(mk)吗?你知道吗

list1 = [1,3,7,12]
list2 = [11,39,9,-1]
from itertools import product
def method1(l1,l2):
    return min([abs(x[0]-x[1]) for x in product(l1, l2)])

def method2(l1,l2):
    num = []
    for i in l1:
        for j in l2:
            num.append(abs(i-j))
    return min(num)
print(method1(list1,list2))
print(method2(list1,list2))

Tags: 方法inl1forreturndefabs数组