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

Leetcode4(寻找两个正序数组的中位数)

题目描述

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

示例 1:

输入:nums1 = [1,3], nums2 = [2]
输出:2.00000
解释:合并数组 = [1,2,3] ,中位数 2
示例 2:

输入:nums1 = [1,2], nums2 = [3,4]
输出:2.50000
解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5

提示:

nums1.length == m
nums2.length == n
0 <= m <= 1000
0 <= n <= 1000
1 <= m + n <= 2000
-106 <= nums1[i], nums2[i] <= 106

题解

如果对时间复杂度的要求有 log,通常都需要用到二分查找,这道题也可以通过二分查找实现。

debug半天写边界,还可以优化
明天优化一下,然后实现一下方法二

package com.example;class Solution {public int[] nums1,nums2;public double findMedianSortedArrays(int[] nums1, int[] nums2) {this.nums1=nums1;this.nums2=nums2;int n1=nums1.length,n2=nums2.length;if((n1+n2)%2==1){return find((n1+n2)/2+1);}return (find((n1+n2)/2+1)+find((n1+n2)/2))*1.0/2;}public int find(int k){int l1=0,l2=0;int n1=nums1.length,n2=nums2.length;while(true){if(l1==n1) return nums2[l2+k-1];if(l2==n2) return nums1[l1+k-1];if(k==1){return nums1[l1]>nums2[l2]?nums2[l2]:nums1[l1];}int mid=(k/2)-1;if(l1+mid>=n1&&n1<=n2){mid=n1-l1-1;}if(l2+mid>=n2&&n1>=n2){mid=n2-l2-1;}if(nums1[l1+mid]>=nums2[l2+mid]){l2+=mid+1;k-=mid+1;}else{l1+=mid+1;k-=mid+1;}}}
}
http://www.xdnf.cn/news/944443.html

相关文章:

  • 前端小程序面试题
  • Notepad++ 官方下载
  • uniapp 小程序 学习(一)
  • 生信服务器 | 做生信为什么推荐使用Linux服务器?
  • C/CPP 结构体、联合体、位段内存计算 指南
  • 总结input标签的各种类型
  • 可视化预警系统:如何实现生产风险的实时监控?
  • 篮球杯软件赛国赛C/C++ 大学 B 组补题
  • GC1808:高性能音频ADC的卓越之选
  • Web APIS Day01
  • 超低成本U型光电开关红外对射管检测电路
  • 基于单片机的宠物屋智能系统设计与实现(论文+源码)
  • 力扣HOT100之栈:394. 字符串解码
  • 256bps!卫星物联网极低码率语音压缩算法V3.0发布!
  • docker容器保存为不依赖基础镜像的独立镜像方法
  • 【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
  • 深入剖析AI大模型:大模型时代的 Prompt 工程全解析
  • Jenkins自动发布C# EXE执行程序
  • Unity中的对象池ObjPool/PoolManager
  • 安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
  • 基于Python的气象数据分析及可视化研究
  • Python打卡训练营学习记录Day49
  • C++11智能指针
  • Linux入门(十五)安装java安装tomcat安装dotnet安装mysql
  • 虚拟机网络不通的问题(这里以win10的问题为主,模式NAT)
  • Python爬虫(52)Scrapy-Redis分布式爬虫架构实战:IP代理池深度集成与跨地域数据采集
  • 使用 C# 将 Word、Excel、PDF 和 PPT文档转换为 Markdown 格式
  • 《C++初阶之入门基础》【普通引用 + 常量引用 + 内联函数 + nullptr】
  • 【BUG】记STM32F030多通道ADC DMA读取乱序问题
  • 2025年能源电力系统与流体力学国际会议 (EPSFD 2025)