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

代碼實現

題目要求O(log(m+n))的時間複雜度,本代碼的時間複雜度是O(m+n),後續再實現優化版本。

LeetCode-尋找兩個有序數組的中位數

下面這段代碼本來想針對性的優化下性能,結果發現增加之後,反倒效率更差了。

LeetCode-尋找兩個有序數組的中位數
LeetCode-尋找兩個有序數組的中位數
LeetCode-尋找兩個有序數組的中位數
LeetCode-尋找兩個有序數組的中位數

代碼執行結果

LeetCode-尋找兩個有序數組的中位數


分享到:


相關文章: