感觉是排序+查找的结合体。但是由于是在路上写的,没看见题目中要求的时间复杂度,直接使用了python的列表sort了一下。还是得掌握一下两个数组合并排序的算法。
暴力版本:
时间复杂度o(m+n),空间复杂度o(m+n)
class Solution(object):
def findMedianSortedArrays(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: float
"""
nums3 = nums1 + nums2
nums3.sort()
print(nums3)
n = len(nums3)
mid =0.00000
if n%2 == 0:
mid = (nums3[n/2 - 1] + nums3[n/2]) / 2.0
else:
mid = nums3[(n-1)/2]
return mid