Median of Two Sorted Array

来源:互联网 发布:哪里有唐筛计算软件 编辑:程序博客网 时间:2024/05/29 14:09

There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).

class Solution:    # @return a float    def findMedianSortedArrays(self, A, B):        lenA = len(A); lenB = len(B)        if (lenA + lenB) % 2 == 1:            return self.getKth( A, B, (lenA + lenB) / 2 + 1)        else :            return (self.getKth( A, B, (lenA + lenB) / 2 ) + self.getKth( A, B, (lenA + lenB) / 2 + 1 ) ) * 0.5    def getKth(self, A, B, k):        lenA = len(A); lenB = len(B)        if lenA > lenB : return self.getKth(B,A,k)        if lenA == 0 : return B[k-1]        if k == 1 : return min(A[0],B[0])        pa = min(k/2, lenA) ; pb = k - pa        if A[pa-1] <= B[pb-1] :            return self.getKth(A[pa:], B, pb)        else :            return self.getKth(A,B[pb:], pa)                    


0 0