给定两个有序数组,找到这两个有序数组的中位数,要求时间复杂度为O(log(m+n))
例:
输入:[1,2], [3,4]
返回 : (2 + 3) / 2 = 2.5
解:
class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
nums1.extend(nums2)
nums1.sort()
len_num = len(nums1)
result = []
start, end = ((len_num -1) // 2, (len_num -1) // 2 + 2) if len_num % 2 == 0 else (len_num // 2, len_num // 2 + 1)
result = nums1[start:end]
return sum(result) / len(result)使用了 python内建的 sum 、len 及list的sort等函数