本文共 828 字,大约阅读时间需要 2 分钟。
public class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { boolean flag=true; int a=nums1.length/2; int b=nums2.length/2; int c=Math.abs(a-b); int d=0; if(nums1.length==0){ d=nums2[b]; }else if(nums2.length==0){ d=nums1[a]; }else{ while (flag) { if (c<=1) { flag=false; if ((nums1[a]-nums2[b])*(Math.abs(nums1.length+nums2.length-2*a-2*b-3)-1)>0) { d=nums2[b]; }else { d=nums1[a]; } }else if ((nums1[a]-nums2[b])>0&&((a-Math.max(0, a-c))>0||(nums1.length+nums2.length-2*a-2*b-2)>0)) { c=((a-Math.max(0, a-c))+(Math.min(nums2.length-1,b+c)-b))/2; a=Math.max(0, a-Math.min(1, c)); b=Math.min(nums2.length-1,b+Math.min(1, c)); }else { c=((Math.min(nums1.length-1,a+c)-a)+(b-Math.max(0, b-c)))/2; a=Math.min(nums1.length-1,a+Math.min(1, c)); b=Math.max(0, b-Math.min(1, c)); } } } return (double)d; } }转载地址:http://pkshb.baihongyu.com/