Median of Two Sorted Arrays

来源:互联网 发布:求顶尖数据恢复注册码 编辑:程序博客网 时间:2024/06/11 05:17
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;
   
    }
}
0 0
原创粉丝点击