1. 程式人生 > >leetcode,兩個排序陣列的中位數

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

先上題目描述:

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

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

你可以假設 nums1 和 nums2 不同時為空。

示例 1:

nums1 = [1, 3]
nums2 = [2]

中位數是 2.0

示例 2:

nums1 = [1, 2]
nums2 = [3, 4]

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

解題思路:將兩個數組合併成一個數組,排序,然後取中位數,思路比較low沒有達到題目要求的時間複雜度。
官方給的解題用得是遞迴法,時間複雜度O(log(min(m,n)))。

下面直接貼程式碼: