LeetCode 题解4 寻找两个正序数组中的中位数 解法1

好了这道题的 示例和题解不是一回事  

所以看了好久  才理解题解是什么意思

按照示例的显示题解 只有一种思路  

 判断 两组序列长度总和的奇偶性

如果为偶数就是求  len/2 与(len/2)-1 的均值

如果为奇数 是求  len/2 下标处的 值

只考虑解法的话 合并两个序列然后排序是最简单了

 public double findMedianSortedArrays(int[] nums1, int[] nums2) {             int m  =  nums1.length;             int n  = nums2.length;             int mn = m+n;             int [] arr = new int[mn];             int m1 = 0 ,n1 = 0;            while(m1<m){                arr[m1] = nums1[m1++];            }             while(n1<n){                arr[n1+m1] = nums2[n1++];            }            Arrays.sort(arr);    //浮点数需要浮点数参与            double mod = 2.0;            if(mn%2==0){                return  (arr[mn/2]+arr[(mn/2)-1])/mod;            }else{                return arr[(mn/2)];            }     }

 

上一篇:2021.08.23 膜你赛


下一篇:P3857 [TJOI2008]彩灯