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

简介:

class Solution {

public double findMedianSortedArrays(int[] nums1, int[] nums2) {
         int len1= nums1.length;
         int len2= nums2.length;
         double [] arr  =new double[len1+len2];
         for(int i=0;i<len1;i++){
             arr[i]=nums1[i];
         }
         for (int j = 0;j<len2;j++){
             arr[j+len1]=nums2[j];
         }
    Arrays.sort(arr);
         int mid=(len1+len2)/2;
         if (arr.length%2==0)
             return (arr[mid-1]+arr[mid])/2;
         return arr[mid];
}

}

目录
相关文章
|
算法
arr = [1,2,5,8,9,10,20,30,40] 有一个从小到大排序好的数组,现在输入一个数,要求按照原来的规律插入到数组中
arr = [1,2,5,8,9,10,20,30,40] 有一个从小到大排序好的数组,现在输入一个数,要求按照原来的规律插入到数组中
124 0
|
2月前
|
算法
正序数组中位数
给定两个有序数组nums1和nums2,要求找到它们合并后的中位数,时间复杂度需达到O(log(m+n))。通过双指针法遍历两个数组,使用left和right变量记录遍历过程中的值,最终根据合并后数组长度的奇偶性返回中位数。此方法有效避免了直接合并数组带来的高时间复杂度问题。
24 0
|
8月前
数组排序,实现升序和降序,输出最大值最小值
数组排序,实现升序和降序,输出最大值最小值
45 2
|
8月前
|
存储 算法 Go
LeetCode第四题: 寻找两个正序数组的中位数
给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。
|
8月前
|
算法 C++
寻找两个正序数组的中位数(C++)
寻找两个正序数组的中位数(C++)
45 0
|
8月前
leetcode-4:寻找两个正序数组的中位数
leetcode-4:寻找两个正序数组的中位数
45 0
|
8月前
|
算法
leetcode-寻找两个正序数组的中位数
leetcode-寻找两个正序数组的中位数
49 0
|
算法 测试技术 C++
C++算法:寻找两个正序数组的中位数
C++算法:寻找两个正序数组的中位数
寻找两个正序数组中的中位数
寻找两个正序数组中的中位数
|
算法
LeetCode 4. 寻找两个正序数组的中位数
LeetCode 4. 寻找两个正序数组的中位数
108 0