一、leetcode地址
https://leetcode.com/problems/median-of-two-sorted-arrays/
二、问题描述
三、代码实现
语言:Python3
代码:
class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
m, n = len(nums1), len(nums2)
if m > n:
return self.findMedianSortedArrays(nums2,nums1)
imin, imax, half = 0, m, (m + n + 1) // 2
while imin <= imax:
i = (imin + imax) // 2
j = half - i
if i < m and nums2[j-1] > nums1[i]:
imin = i + 1
elif i > 0 and nums1[i-1] > nums2[j]:
imax = i - 1
else:
max_ = max(nums1[i-1] if i > 0 else float('-inf'),nums2[j-1] if j > 0 else float('-inf'))
min_ = min(nums1[i] if i < m else float('inf'),nums2[j] if j < n else float('inf'))
if (m + n) % 2 == 1:
return max_
else:
return (max_ + min_) / 2