給定兩個大小為 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
通過次數241,125
提交次數625,074
// #include// #include// using namespace std;
class solution else
}if(len2==0)else
}int i=0,j=0,cnt=0;
int pre=0,len=len1+len2;
vectorvi(len);
while(i=nums2[j])
}// for(int i=0;i// puts("");
if(len%2==0)else
}};
4 尋找兩個正序陣列的中位數
思路 我現在還沒有進行優化,大概就是合併陣列 參照之前的順序表合併 然後如果合併陣列的大小sum是偶數,返回sum 2和sum 2 1兩個元素除以二,如果sum是奇數則直接返回sum 2的元素 double findmediansortedarrays int nums1,int nums1size...
4 尋找兩個正序陣列的中位數
給定兩個大小為 m 和 n 的正序 從小到大 陣列nums1和nums2。請你找出這兩個正序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設nums1和nums2不會同時為空。示例 1 nums1 1,3 nums2 2 則中位數是 2.0示例 2 nums1 1,2 nu...
4 尋找兩個正序陣列的中位數
題目描述 給定兩個大小為 m 和 n 的正序 從小到大 陣列 nums1 和 nums2。請你找出這兩個正序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。示例 1 nums1 1,3 nums2 2 則中位數是 2.0 示例 2...