leetcode 4 兩個排序陣列的中位數

2021-08-19 06:20:59 字數 556 閱讀 8084

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2 。

請找出這兩個有序陣列的中位數。要求演算法的時間複雜度為 o(log (m+n)) 。

示例 1:

nums1 = [1, 3]

nums2 = [2]

中位數是 2.0

示例 2:

nums1 = [1, 2]

nums2 = [3, 4]

中位數是 (2 + 3)/2 = 2.5

思路:

兩個陣列合併,然後找中間的數就可以。

因為限制了複雜度,所以用拉鍊合併。乙個陣列遍歷一次。

python**:

class solution(object):

def findmediansortedarrays(self, num1, num2):

len1 =len(num1)

len2 =len(num2)

i=j=0

num3 =

while i!=len1 and j!=len2:

if(num1[i]

LeetCode 4 兩個排序陣列的中位數

給定兩個大小為 m 和 n 的有序陣列nums1和nums2。請找出這兩個有序陣列的中位數。要求演算法的時間複雜度為 o log m n nums1 1,3 nums2 2 中位數是 2.0 nums1 1,2 nums2 3,4 中位數是 2 3 2 2.5 本來可以歸併排序,直接求中位數,但是由...

LeetCode4 兩個排序陣列的中位數

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2 請找出這兩個有序陣列的中位數。要求演算法的時間複雜度為 o log m n 示例 1 nums1 1,3 nums2 2 中位數是 2.0示例 2 nums1 1,2 nums2 3,4 中位數是 2 3 2 2.5 兩個有序陣列,...

LeetCode 4 兩個排序陣列的中位數

題目描述 給定兩個大小為 m 和 n 的有序陣列nums1和nums2。請找出這兩個有序陣列的中位數。要求演算法的時間複雜度為 o log m n 你可以假設nums1和nums2均不為空。困難題,要求演算法時間複雜度為o log m n 也就是最優方法 參考解法 二分法查詢,每次捨棄部分區間 pu...