乙個更普通的問題:尋找第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...