LeetCode【Python3】-p4. Median of Two Sorted Arrays

先耍个流氓

class Solution:
    def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
        nums1.extend(nums2)
        nums1.sort()
        if len(nums1) % 2 == 0:
            return sum(nums1[len(nums1)//2 - 1:len(nums1)//2 + 1:]) / 2
        else:
            return nums1[(len(nums1) - 1)//2]        
通过 268 ms 14 MB Python3

 

执行用时 :268 ms, 在所有 Python3 提交中击败了5.67%的用户

内存消耗 :14 MB, 在所有 Python3 提交中击败了5.28%的用户


*Binary Search

 

class Solution:
    def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
        if len(nums1) 0:
                        median = max(maxLeftList1,maxLeftList2)
                    else:
                        median = min(minRightList1, minRightList2)
                break
            elif maxLeftList1 > minRightList2 or leftRightNumberDifference > 1:#分割点大了 向左移变小
                end = partition1-1
            elif minRightList1 < maxLeftList2 or leftRightNumberDifference < 1: #分割点小了 向右移变大
                start = partition1+1
        return median
通过 120 ms 14 MB Python3

执行用时 :120 ms, 在所有 Python3 提交中击败了77.08%的用户

内存消耗 :14 MB, 在所有 Python3 提交中击败了5.28%的用户

 

Ref

[1] https://www.youtube.com/watch?v=LPFhl65R7ww

你可能感兴趣的:(LeetCode【Python3】-p4. Median of Two Sorted Arrays)