我有两个整数数组,我希望两个数组中任何元素之间的最小绝对差最小。我有两种不同的方式来做。两者看起来几乎相同,但是对于两种方法,我不明白什么是BigO。 他们都是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))
答案 0 :(得分:0)
是的。两种方法完全相同
方法1的建议:
def method1(l1,l2):
return min([abs(a - b) for a, b in product(l1, l2)])