Java Solution T: O(M+N) and S: O(M+N) 2ms, 99.98% faster

class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
int i=0;
int j=0;
int[] result = new int[nums1.length + nums2.length];
int temp=0;
while(i< nums1.length && j < nums2.length){
if(nums1[i] < nums2[j]){
result[temp] = nums1[i];
i++;
}else if(nums1[i]>nums2[j]){
result[temp] = nums2[j];
j++;
}else{
result[temp] = nums1[i];
result[++temp] = nums2[j];
i++;
j++;
}
temp++;
}
while(i != nums1.length || j != nums2.length){
if(i != nums1.length){
result[temp] = nums1[i];
i++;
}else{
result[temp] = nums2[j];
j++;
}
temp++;
}
temp--;

    int l = result.length;
    if(l %2 == 0){
        return (double)(result[l/2]+ result[(l/2)-1])/2;
    }
    return result[l/2];
}

}

Comments (0)