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

2022-06-29 03:33:13 字數 514 閱讀 9513

題目:

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

思路:建立乙個新陣列nums3,其大小為陣列 nums1 和 nums2長度和,再對nums3排序,轉化為在有序陣列中找中位數。

本人弱點:

不知道下面三行**可以快速取得中位數,而且也忘記要--才能得到正確下標。

int left=(n+1)/2;

int right=(n+2)/2;

nums3[--left]+nums3[--right])/2;

**:class solution

for(int i=len1,j=0;jarrays.sort(nums3);

int left=(n+1)/2;

int right=(n+2)/2;

double res=(double)(nums3[--left]+nums3[--right])/2; //位數和下標有區別

return res;}}

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...