[刷题]LeetCode 4. 寻找两个正序数组的中位数

发布于 2021-10-07  2 次阅读


代码git:History for 4. 寻找两个正序数组的中位数.py - WankkoRee/LeetCodeAnswersWithPython3

这题的话,大致思路就是合并一下俩数组然后排序取中间。

但是因为用了python,本身自带排序方法,所以难度就给削没了,照着思路写就一次过了。

from typing import List

class Solution:
    def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
        nums = nums1+nums2
        nums.sort()
        n = len(nums)
        if n % 2 == 1:
            return nums[n // 2]
        else:
            return (nums[n // 2 - 1] + nums[n // 2]) / 2

solution = Solution()
assert solution.findMedianSortedArrays([1,3], [2]) == 2
assert solution.findMedianSortedArrays([1,2], [3,4]) == 2.5
assert solution.findMedianSortedArrays([0,0], [0,0]) == 0
assert solution.findMedianSortedArrays([], [1]) == 1
assert solution.findMedianSortedArrays([2], []) == 2

执行用时: 40 ms , 在所有 Python3 提交中击败了 81.00% 的用户
内存消耗: 15.1 MB , 在所有 Python3 提交中击败了 63.43% 的用户
通过测试用例: 2094 / 2094


The End