给定两个大小为 m 和 n 的有序数组 nums1
和 nums2
。
请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。
nums1 = [1, 3]
nums2 = [2]
则中位数是 2.0
nums1 = [1, 2]
nums2 = [3, 4]
则中位数是 (2 + 3)/2 = 2.5
class Solution():
def medium(nums1,nums2):
nums1.extend(nums2)
a=nums1
c=[]
b=len(a)
#print(nums1)
#print(a)
for i in range(1,b+1):
for j in range(i+1,b+1):
if i>j:
c.append(j)
else:
c.append(i)
break
c.append(max(a))
e=len(c)
if e%2==1:
d=int((e+1)/2-1)
else:
d=int(e/2)-1
print(c)
print(e)
print(d)
print(c[d])
nums1=[1,2,3,7]
nums2=[2,4,6]
Solution.medium(nums1,nums2)