zoukankan      html  css  js  c++  java
  • 合并两个有序数组,并输出中间值

    示例1:

      nums1 = [1,3]

      nums2 = [2,4]

      output: (2+3) / 2 = 2.5

    示例2:

      nums1 = [2,5,7]

      nums2 = [3,6]

      output:5

    Python解决方案:

      def findMedianSortedArrays(self, nums1, nums2):
            """
            :type nums1: List[int]
            :type nums2: List[int]
            :rtype: float
            """
            result = []
            i,j = 0,0
            while i < len(nums1) and j < len(nums2):
                while i < len(nums1) and j < len(nums2) and nums1[i] <= nums2[j]:
                    result.append(nums1[i])
                    i += 1
                while i < len(nums1) and j < len(nums2) and nums1[i] > nums2[j]:
                    result.append(nums2[j])
                    j += 1
            if i < len(nums1):
                result += nums1[i:]
            else:
                result += nums2[j:]
            length = len(result)
            if length%2:
                return result[length//2]
            else:
                return float(result[length//2]+result[length//2-1]) / 2
  • 相关阅读:
    SCUT
    SCUT
    SCUT
    ???
    Codeforces
    SCUT
    SCUT
    SCUT
    SCUT
    2019牛客暑期多校训练营(第八场)
  • 原文地址:https://www.cnblogs.com/wenqinchao/p/10529134.html
Copyright © 2011-2022 走看看