给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。
算法的时间复杂度应该为 O(log (m+n)) 。
示例 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
- class Solution {
- public double findMedianSortedArrays(int[] nums1, int[] nums2) {
- int len1 = nums1.length;
- int len2 = nums2.length;
- int[] arr = new int[len1+len2];
- for(int i=0;i
- arr[i]=nums1[i];
- }
- for(int i=0;i
- arr[len1+i]=nums2[i];
- }
- Arrays.sort(arr);
- if((len1+len2)%2==0){
- int t=(len1+len2)/2;
- return (arr[t-1]+arr[t])*1.0/2;
- }else{
- int t=(len1+len2)/2;
- return arr[t]*1.0;
- }
- }
- }
-
相关阅读:
AOP的切入点Pointcut中的execution表达式详解
头歌实验快速排序
ThingsBoard IoT Gateway MQTT 连接器配置 第二部分
申请专利必须把技术公开吗?
js金额转大写以及获取url后面的参数
Oracle数据库查询唯一约束、索引
NX二次开发-使用MFC的CImage裁剪图片
小米路由器3G R3G 刷入Breed和OpenWrt 20.02.2 的记录
服务器主机管理系统是什么
pk答题小程序怎么做?功能有哪些?为您揭秘!
-
原文地址:https://blog.csdn.net/2402_84062759/article/details/139426833