4尋找兩個有序陣列的中位數

2021-09-29 17:09:28 字數 460 閱讀 2107

乙個更普通的問題:尋找第k個數。

記兩個陣列為a,b。

比較mid1 = a[k/2]和mid2 = b[k/2],如果前者比較小,那說明a[k/2]肯定小於要找的第k個數。如果陣列b的size小於k/2,那相當於mid2 = int_max。接下去就從剩下的a和全部的b中找第k-k/2個數。

特殊情況:

k=1,只要比較兩個陣列的第乙個數;

有乙個陣列為空,只要從另乙個陣列中取第k個數;

以上兩種情況結束遞迴。

#include

class

solution

double

findmediansortedarrays

(vector<

int>

& nums1, vector<

int>

& nums2)

};

4 尋找兩個有序陣列的中位數

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

4 尋找兩個有序陣列的中位數( )

給定兩個大小為 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 尋找兩個有序陣列的中位數

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