题目说明
There are two sorted arrays nums1 and nums2 of size m and n respectively.
Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
You may assume nums1 and nums2 cannot be both empty.
Example 1:
nums1 = [1, 3]
nums2 = [2]
The median is 2.0
Example 2:
nums1 = [1, 2]
nums2 = [3, 4]
The median is (2 + 3)/2 = 2.5
代码部分
class Solution:
def findMedianSortedArrays(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: float
"""
nums1 = nums1+nums2
nums1.sort()
m = len(nums1)
k = int((m/2)//1)
kk = int(((m-1)/2)//1)
val = (nums1[k] + nums1[kk])/2
return val
Runtime: 96 ms, faster than 90.01% of Python3
主要思路:
时间复杂度的限制导致我们无法用if来分情况判断
k = int((m/2)//1)
**//**表示向下取整
由此可避免因为单复数带来的中位数求解问题