美文网首页工作生活
leetcode刷题记录-找出这两个有序数组的中位数(pytho

leetcode刷题记录-找出这两个有序数组的中位数(pytho

作者: Lovely_bb | 来源:发表于2019-07-04 21:14 被阅读0次

    谨以此文记录一下自己刷题的过程,虽然技术能力一般,相信刷完整套题目自己的编程能力定会有提高,代码都是个人创作,不一定是最好的,仅供参考和交流

    给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。

    请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。

    你可以假设 nums1 和 nums2 不会同时为空。

    示例 1:

    nums1 = [1, 3]

    nums2 = [2]

    则中位数是 2.0

    示例 2:

    nums1 = [1, 2]

    nums2 = [3, 4]

    则中位数是 (2 + 3)/2 = 2.5

    来源:力扣(LeetCode)

    链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays

    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    code:

    class Solution(object):

        def findMedianSortedArrays(self, nums1, nums2):

            """

            :type nums1: List[int]

            :type nums2: List[int]

            :rtype: float

            """

            num = []

            i = 0

            j = 0

            while True:

                if i == len(nums1):

                    num.extend(nums2[j:])

                    break

                if j == len(nums2):

                    num.extend(nums1[i:])

                    break

                n1 = nums1[i]

                n2 = nums2[j]

                if n1 < n2:

                    num.append(n1)

                    i+=1

                else:

                    num.append(n2)

                    j+=1

            length = len(num)

            if length % 2 == 0:

                return (num[length/2] + num[length/2-1])*1.0/2

            else:

                return num[length/2]

    相关文章

      网友评论

        本文标题:leetcode刷题记录-找出这两个有序数组的中位数(pytho

        本文链接:https://www.haomeiwen.com/subject/kpedhctx.html