這道題要求演算法時間複雜度為log(m+n)一般來講這是二分法的複雜度,但兩個陣列之間交叉起來不能簡單靠二分法來解決,必須進行合併,但一合併複雜度就是m+n,所以這題有點奇怪
我採用python來做,非常簡單,也通過了,但是還是不清楚複雜度是如何判斷的
1def findmediansortedarrays(self, nums1: list[int], nums2: list[int]) ->float:
2 nums1=nums1+nums2
3nums1.sort()
4 long=len(nums1)
5if(long%2==1):
6return nums1[long//2]
7else:8
return (nums1[long//2]+nums1[long//2-1])/2.0
LeetCode 4 尋找兩個有序陣列的中位數
給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。示例 1 nums1 1,3 nums2 2 則中位數是 2.0 示例 2 nums1 1,2 ...
LeetCode 4 尋找兩個有序陣列的中位數
給定兩個大小為 m 和 n 的有序陣列nums1和nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設nums1和nums2不會同時為空。示例 1 nums1 1,3 nums2 2 則中位數是 2.0示例 2 nums1 1,2 nums2 3,...
LeetCode4 尋找兩個有序陣列的中位數
給定兩個大小為 m 和 n 的有序陣列nums1和nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設nums1和nums2不會同時為空。示例 1 nums1 1,3 nums2 2 則中位數是 2.0示例 2 nums1 1,2 nums2 3,...