leetcode 4尋找兩個有序陣列的中位數

2022-09-10 14:06:16 字數 453 閱讀 2077

這道題要求演算法時間複雜度為log(m+n)一般來講這是二分法的複雜度,但兩個陣列之間交叉起來不能簡單靠二分法來解決,必須進行合併,但一合併複雜度就是m+n,所以這題有點奇怪

我採用python來做,非常簡單,也通過了,但是還是不清楚複雜度是如何判斷的

1

def 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,...