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

题目:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。

来源:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/

法一:自己的代码

思路:直接合并两个数列,用sorted()函数进行排序后,直接判断奇偶,输出中位数.

# https://leetcode-cn.com/problems/median-of-two-sorted-arrays/solution/

思路:直接合并两个数列,用sorted()函数进行排序后,直接判断奇偶,输出中位数.
class Solution:
    def findMedianSortedArrays(self, nums1, nums2) :
        two_list = nums1 + nums2
        two_list = sorted(two_list)
        print(two_list)
        length = len(two_list)
        print(length/2)
        if length % 2 == 0:
            print((two_list[int(length/2)] + two_list[int(length/2) - 1])/2)
        else:
            print(two_list[int(length/2)])

if __name__ == '__main__':
    nums1 = [1, 35,3,32,4]
    nums2 = [2]
    duixiang = Solution()  # 先用类new出一个对象,再用对象调用类的方法
    duixiang.findMedianSortedArrays( nums1, nums2)
View Code

 

posted on 2019-07-11 22:21  吃我一枪  阅读(110)  评论(0编辑  收藏  举报

导航