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)];
           }
    }

 

posted @ 2021-08-26 10:26  OTeam  阅读(62)  评论(0)    收藏  举报