设A 和B都是从小到大已经排好序的几个不等的整数构成的数组,如果把 A 与B合并后的数组记作C,设计一个算法找出C的中位数python实现而且是分治策略
望采纳,谢谢!
def getmid(a, b):
k = int(len(a) / 2)
#print(k, a, b)
if len(a) == 1:
return (a[0] + b[0]) / 2
if a[k] == b[k]:
return a[k]
elif a[k] < b[k]:
return getmid(a[k+1:], b[:k])
else:
return getmid(a[:k], b[k:])
lsta = [0,1,2,4,8]
lstb = [3,5,7,8,9]
print(getmid(lsta,lstb))