当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。

寻找两个正序数组的中位数

困难findMedianSortedArrays()
时间限制 2000 ms内存限制 128 MB复杂度要求 时间 O(log(min(m,n))),空间 O(1)

寻找两个正序数组的中位数

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。

约定

  • 两个数组均已升序排列。
  • 若合并后长度为偶数,中位数是中间两个数的平均值(可能是小数)。

输入

  • nums1:升序数组,0 ≤ nums1.length ≤ 1000
  • nums2:升序数组,0 ≤ nums2.length ≤ 1000
  • 至少一个数组非空。

输出

中位数(浮点数,与参考解误差不超过 1e-6)。

示例一

输入:

nums1 = [1,3], nums2 = [2]

输出:

2.0

解释:合并数组 [1,2,3],中位数 2。

示例二

输入:

nums1 = [1,2], nums2 = [3,4]

输出:

2.5

解释:合并数组 [1,2,3,4],中位数 (2+3)/2 = 2.5。

示例三

输入:

nums1 = [0,0], nums2 = [0,0]

输出:

0.0

复杂度要求

  • 时间复杂度:O(log(min(m,n)))
  • 空间复杂度:O(1)
Loading...

输入

[[1,3],[2]]

预期输出

2
自定义用例