力扣4 尋找兩個正序陣列的中位數(二分查詢)

2021-10-20 22:16:48 字數 937 閱讀 5412

力扣4. 尋找兩個正序陣列的中位數(二分查詢)

給定兩個大小分別為 m 和 n 的正序(從小到大)陣列 nums1 和 nums2。請你找出並返回這兩個正序陣列的 中位數 。

示例 1:

輸入:nums1 = [1,3], nums2 = [2]

輸出:2.00000

解釋:合併陣列 = [1,2,3] ,中位數 2

示例 2:

輸入:nums1 = [1,2], nums2 = [3,4]

輸出:2.50000

解釋:合併陣列 = [1,2,3,4] ,中位數 (2 + 3) / 2 = 2.5

示例 3:

輸入:nums1 = [0,0], nums2 = [0,0]

輸出:0.00000

示例 4:

輸入:nums1 = , nums2 = [1]

輸出:1.00000

示例 5:

輸入:nums1 = [2], nums2 =

輸出:2.00000

nums1.length == m

nums2.length == n

0 <= m <= 1000

0 <= n <= 1000

1 <= m + n <= 2000

-106 <= nums1[i], nums2[i] <= 106

高階:你能設計乙個時間複雜度為 o(log (m+n)) 的演算法解決此問題嗎?

時間複雜度:遍歷全部陣列 (m+n)

空間複雜度:開闢了乙個陣列,儲存合併後的兩個陣列 o(m+n)

class solution 

for(int j=0;jsort(result.begin(),result.end());

if((m+n)%2==1)

else

}};

力扣 尋找兩個正序陣列的中位數

給定兩個大小為 m 和 n 的正序 從小到大 陣列 nums1 和 nums2。請你找出這兩個正序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。示例 1 nums1 1 3 nums2 2 則中位數是 2.0 示例 2 nums...

力扣第4題 尋找兩個正序陣列的中位數

給定兩個大小為 m 和 n 的正序 從小到大 陣列 nums1 和 nums2。請你找出並返回這兩個正序陣列的中位數。高階 你能設計乙個時間複雜度為 o log m n 的演算法解決此問題嗎?示例 1 輸入 nums1 1,3 nums2 2 輸出 2.00000 解釋 合併陣列 1,2,3 中位數...

力扣演算法篇 尋找兩個正序陣列的中位數

尋找兩個正序陣列的中位數 給定兩個大小分別為m和n的正序 從小到大 陣列nums1和nums2。請你找出並返回這兩個正序陣列的中位數。例項 題解 遍歷兩個陣列 得到有序的合併陣列並找到中位數 class solution vector int combine int i 0 int j 0 whil...