美文网首页
4. 寻找两个有序数组的中位数

4. 寻找两个有序数组的中位数

作者: 潇湘demi | 来源:发表于2020-02-27 23:06 被阅读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

    #import string

    s1=[1,2,6,7]

    s2=[3,4,5,16,19]

    s3 = sorted(s1+s2)#合成一个有序数组

    print s3

    len3 = len(s3)

    print s2

    if len3 % 2 ==0 :

        m1 = (s3[len3//2]+s3[len3//2-1])/2.0

    else:

        m1 = s3[len3//2]

    print m1

    相关文章

      网友评论

          本文标题:4. 寻找两个有序数组的中位数

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