一、题解
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
int end = (nums1.length+nums2.length)%2==0?((nums1.length+nums2.length)/2+1):((nums1.length+nums2.length)/2+1);
int i = 0 ;
int j = 0;
int index = 0;
int statNum = 0;
int endNum = statNum;
while(i<nums1.length || j<nums2.length){
if(i<nums1.length && j<nums2.length){
endNum = nums1[i]<=nums2[j]?nums1[i++]:nums2[j++];
}else if(i>=nums1.length){
endNum = nums2[j++];
}else{
endNum = nums1[i++];
}
index++;
if(index>=end){
return (nums1.length+nums2.length)%2==0?((statNum+endNum)/2.0):endNum;
}
statNum = endNum ;
}
return 0;
}
二、关注点
1、中位数个数 奇数还是偶数
2、数组指针,通过指针处理确定新数据位置
3、防止数组越界