题目:
大致思路是在合并数组长度小于两个数组和的2/1的情况下,合并两个数组
class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
int num = nums1.length + nums2.length;
if(num ==0){
return 0;
}
int m =0;
int n =0;
int [] merge =new int [num];
int index =0;
while(m <nums1.length && n<nums2.length){
if(nums1[m] <=nums2[n]){
merge[index++]= nums1[m++];
}else{
merge[index++] =nums2[n++];
}
}
if (m == nums1.length) {
for (int k = n; k < nums2.length; k++) {
merge[index++] = nums2[k];
}
}
if (n == nums2.length) {
for (int k =m; k < nums1.length; k++) {
merge[index++] = nums1[k];
}
}
if ((num % 2) == 0) {
return (double)(merge[num/2 - 1] + merge[num/2])/2;
}else {
return (double)merge[(num -1) / 2];
}
}
}
执行用时 : 13 ms, 在Median of Two Sorted Arrays的Java提交中击败了94.89% 的用户
内存消耗 : 49.8 MB, 在Median of Two Sorted Arrays的Java提交中击败了39.72% 的用户
进行下一个挑战: