leetcode Median of Two Sorted Arrays

来源:互联网 发布:淘宝家具沙发 编辑:程序博客网 时间:2024/05/01 06:12

题目链接

public class Solution {    public double help(int nums1[],int start1,int end1,int nums2[],int start2,int end2,int target)    {        if(start1>end1)        {            return nums2[start2+target-1];        }        if(start2>end2)        {            return nums1[start1+target-1];        }        if(target==1)        {            return Math.min(nums1[start1],nums2[start2]);        }        int k=target/2;        if(Math.min(end1-start1+1, end2-start2+1)<k)        {            k=Math.min(end1-start1+1, end2-start2+1);        }        if(nums1[start1+k-1]<nums2[start2+k-1])        {            return help(nums1,start1+k, end1,nums2,start2,end2,target-k);        }        else        {            return help(nums1,start1, end1,nums2,start2+k,end2,target-k);        }    }    public double findMedianSortedArrays(int[] nums1, int[] nums2) {        int k=(nums1.length+nums2.length+1)/2;        double temp=help(nums1,0,nums1.length-1,nums2,0,nums2.length-1,k);        if((nums1.length+nums2.length)%2!=0)return temp;        else return (help(nums1,0,nums1.length-1,nums2,0,nums2.length-1,k+1)+temp)/2.0;    }}
0 0
原创粉丝点击