寻找两个正序数组的中位数——数组专题(大白话说思路)

寻找两个正序数组的中位数——数组专题

思路:

  • 二分,将问题分解为在两个数组中找第k大的数,根据这个函数分奇偶情况输出结果。
  • 如何求解第k大的数呢?因为两个数组都是有序,只要我们将两个数组中属于前k-1大的数都排除掉,就能求得第k大的数。
  • 例如nums1数组前x位数被排除,nums2数组前y位被排除(x+y=k-1),那么第k大的数就是min(nums1[x],nums2[y])。
  • 注意边界

代码略(力扣官方题解第一种做法),思路比代码重要‼️

上一篇:如何快速合并两个有序数组?


下一篇:寻找两个正序数组的中位数【php版】