这道题要求算法时间复杂度为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
原文地址:https://www.cnblogs.com/trickofjoker/p/10538814.html
时间: 2024-10-09 12:19:17