[leetcode]4寻找两个有序数组的中位数

这道题要求算法时间复杂度为log(m+n)一般来讲这是二分法的复杂度,但两个数组之间交叉起来不能简单靠二分法来解决,必须进行合并,但一合并复杂度就是m+n,所以这题有点奇怪

我采用python来做,非常简单,也通过了,但是还是不清楚复杂度是如何判断的

1     def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
2         nums1=nums1+nums2
3         nums1.sort()
4         long=len(nums1)
5         if(long%2==1):
6             return nums1[long//2]
7         else:
8             return (nums1[long//2]+nums1[long//2-1])/2.0

猜你喜欢

转载自www.cnblogs.com/trickofjoker/p/10538814.html
今日推荐