leecode - 4.寻找两正序数组的中位数
方法一:双指针
使用两个指针p1, p2分别指向nums1和nums2,进行比较,如果nums1[p1] < nums2[p2], 则p1+=1,相反则p2 += 1
方法二:第K小个数
将找中位数问题转化为寻找第K小个数的问题
k = (len(nums1)+len(nums2)) // 2
每次剔除一个数组里面较小的 k // 2 个数
class Solution(object):
def findMedianSortedArrays(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: float
"""
length = len(nums1) + len(nums2)
if len(nums1) < len(nums2): # 长序列的放在前面,防止越界
nums1, nums2 = nums2, nums1
if length == 2:
if len(nums2) == 0: # 中位数在n