思路就是合并两个有序数组,然后再在新数组上进行计算中位数
time:98.38
内存:27.87
class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
int len=nums1.length+nums2.length;
int[] nums3=new int[len];
int i=0,j=0;
while(i<nums1.length&&j<nums2.length){
if(nums1[i]>nums2[j]){
nums3[i+j]=nums2[j];
j++;
}else{
nums3[i+j]=nums1[i];
i++;
}
}
if(i>=nums1.length){
for(;j<nums2.length;j++){
nums3[i+j]=nums2[j];
}
}else{
for(;i<nums1.length;i++){
nums3[i+j]=nums1[i];
}
}
return len%2==0?(double)(nums3[len/2]+nums3[len/2-1])/2:nums3[len/2];
}
}
LeetCodeNo.4两个有序数组的中位数
最新推荐文章于 2022-04-05 00:11:51 发布