給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。示例 1:請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o(log(m + n))。
你可以假設 nums1 和 nums2 不會同時為空。
nums1 = [1, 3]
nums2 = [2]
則中位數是 2.0
示例 2:
nums1 = [1, 2]
nums2 = [3, 4]
則中位數是 (2 + 3)/2 = 2.5
##解決方案
官方解決方案
我的答案:
class solution
if (j >= nums2.length)
if (nums1[i] < nums2[j]) else
}return (nums1.length + nums2.length) % 2 == 0 ? ((pre + last) / 2.0) : last;
}}
2084 / 2084 個通過測試用例執行用時:12 ms
尋找兩個有序陣列的中位數
尋找兩個有序陣列的中位數 user hihone date 2019 1 31 time 16 32 description 給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 ...
尋找兩個有序陣列的中位數
思路 將兩個陣列排序,然後判斷陣列長度,長度為單數,則取二分之一處的數,否則取二分之一處和二分之一減一處的數之和除以2.var findmediansortedarrays function nums1,nums2 var mid math.floor arr.length 2 if arr.len...
尋找兩個有序陣列的中位數
給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。題解 這個題只要找到中位數的索引就行,按照定義來。可能是主要考察快排,所以思路並沒有太深。cla...