From LeetCode No.4;
Tier:Hard
Content:
here are two sorted arrays nums1 and nums2 of size m and n respectively.
Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
You may assume nums1 and nums2 cannot be both empty.
Example 1:
nums1 = [1, 3]
nums2 = [2]
The median is 2.0
Example 2:
nums1 = [1, 2]
nums2 = [3, 4]
The median is (2 + 3)/2 = 2.5
A Solution With Java:
class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
int[] nums=new int[nums1.length+nums2.length];
int i=0,j=0,m=0;
while(i<nums1.length && j<nums2.length){
nums[m++]=(nums1[i]<nums2[j])?nums1[i++]:nums2[j++];
}
while(i<nums1.length) nums[m++]=nums1[i++];
while(j<nums2.length) nums[m++]=nums2[j++];
if(nums.length%2==0)
return (nums[m/2-1]+nums[m/2])/2.0;
else
return nums[m/2];
}
}