給定兩個大小為 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...