当前位置: 首页 > news >正文

力扣4.寻找两个正序数组的中位数

文章目录

  • 题目介绍
  • 题解

题目介绍

在这里插入图片描述

题解

题解链接:题解

核心思路:通过二分查找的确定分割点使左右两部分元素数量相等。

class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int n1 = nums1.length;int n2 = nums2.length;// 确保nums1是较短的数组,以优化二分查找if (n1 > n2) {return findMedianSortedArrays(nums2, nums1);}int k = (n1 + n2 + 1) / 2;int left = 0;int right = n1;while (left < right) {int m1 = (right + left) / 2;int m2 = k - m1;if (nums1[m1] < nums2[m2 - 1]) {left = m1 + 1;} else {right = m1;}}int m1 = left;int m2 = k - m1;// 处理边界情况int c1 = Math.max(m1 <= 0 ? Integer.MIN_VALUE : nums1[m1 - 1],m2 <= 0 ? Integer.MIN_VALUE : nums2[m2 - 1]);if ((n1 + n2) % 2 == 1) {return c1;}int c2 = Math.min(m1 >= n1 ? Integer.MAX_VALUE : nums1[m1],m2 >= n2 ? Integer.MAX_VALUE : nums2[m2]);return (c1 + c2) / 2.0;}
}

相关文章:

  • java int 颜色值转换为string 不带透明度
  • JavaScript 核心原理深度解析-不停留于表面的VUE等的使用!
  • LeetCode 152. 乘积最大子数组 - 动态规划解法详解
  • 【CF】Day74——⭐Codeforces Round 885 (Div. 2) ACD (数学场)
  • 2025.6.3学习日记 Nginx 基本概念 配置 指令 文件
  • Nginx配置Ollama 访问api服务
  • 61、ESB详解
  • RTP over TCP 模式
  • Ros2 简单构建项目的流程以及涉及的文件作用
  • 【iOS安全】Macbook更换brew源
  • AI一周事件(2025年5月27日-6月2日)
  • 在图像分析算法部署中应对流行趋势的变化|文献速递-深度学习医疗AI最新文献
  • 【北邮 操作系统】第十二章 文件系统实现
  • Windows应用-音视频捕获
  • MongoTemplate常用api学习
  • 四元素、旋转矩阵与旋转向量
  • 小体积涵盖日常办公等多功能的软件
  • 第三章 3.MAC Address(CCNA)
  • linux的实时性
  • C++学者给您讲数学之——数列
  • 新开传奇网站手游/营销型网站seo
  • 甘肃省建设类证书查询网站/免费个人网站平台
  • 网站备案号超链接怎么做/去除痘痘怎么有效果
  • 西安分销商城网站建设/网络营销个人感悟小结
  • 福建省建设厅网站节能办/品牌推广案例
  • 山门做网站/百度推广登录入口