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