leetcode--demo4寻找两个正序数组的中位数

leetcode–demo4寻找两个正序数组的中位数

这条题我的想法很暴力,合并两个数组,然后进行排序,通过结果数组获取中位数,一开始以为会超时没想到过了。

import java.util.Arrays;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        int[] nums1={
    
    1,2};
        int[] nums2={
    
    3,4};
        System.out.println(new Solution().findMedianSortedArrays(nums1,nums2));
    }
}
class Solution {
    
    
    public double findMedianSortedArrays(int[] nums1, int[] nums2) {
    
    
        int m=nums1.length;
        int n=nums2.length;
        int[] res=new int[m+n];
        for (int i=0;i<res.length;i++){
    
    
            if (i<m){
    
    
                res[i]=nums1[i];
            }else {
    
    
                res[i]=nums2[i-m];
            }
        }
        //对结果数组进行排序
        Arrays.sort(res);
        int len=res.length;
        if (len%2==0){
    
    
            return (res[len/2-1]+res[len/2])/2.0;
        }else {
    
    
            return res[len/2];
        }
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_48126147/article/details/112848178