力扣经典二分题:4. 探求两个正序数组的中位数

[复制链接]
发表于 2025-11-11 10:31:57 | 显示全部楼层 |阅读模式
标题链接:4. 探求两个正序数组的中位数 - 力扣(LeetCode)
一、标题分析




      
  • 这道标题是让我们在 两个正序的数组中探求中位数  
  • 已知两个数组的巨细分别是:int m = nums1.size(),n = nums2.size();  
  • 中位数性子1:中位数左侧元素 ≤ 中位数 且 中位数右侧元素 ≥ 中位数 (以升序来看)  
  • 中位数性子2:对于一个长度为 N 的数组,中位数将数组一分为二,使得左侧与右侧得元素长度差 ≤ 1  
  • 当 m + n 为奇数时,我们须要找到归并后数组中第 k + 1 小的元素,此中 k = (m + n) / 2。  
  • 当 m + n 为偶数时,我们须要找到归并后数组中第 k 和第 k + 1 小的元素,然后盘算它们的均匀值,此中 k = (m + n) / 2 - 1(留意这里 k 是基于 0 的索引,以是现实要找的元素位置是 k 和 k + 1)。
二、算法原明白说

解法一:暴力排序

通过归并排序的原

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表