题目描述:
给定两个有序数组arr1和arr2,已知两个数组的长度都为N,求两个数组中所有数的上中位数。
上中位数:假设递增序列长度为n,若n为奇数,则上中位数为第n/2+1个数;否则为第n/2个数
思路1:使用归并排序,将两个数组先排序,再返回上中位数。
时间复杂度O(2N),空间复杂度O(2N)
def guibing_sort(arr1,arr2):
arr=[]
i=j=0
l1,l2=len(arr1),len(arr2)
while i<l1 and j<l2:
if arr1[i]<=arr2[j]:
arr.append(arr1[i])
i += 1
else:
arr.append(arr2[j])
j += 1
arr