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

2021-09-13 11:20:28 字數 622 閱讀 1383

思路:將兩個陣列排序,然後判斷陣列長度,長度為單數,則取二分之一處的數,否則取二分之一處和二分之一減一處的數之和除以2.

var

findmediansortedarrays

=function

(nums1, nums2)

var mid = math.

floor

(arr.length /2)

;if(arr.length %2==

0)else};

function

merge

(arr1, arr2)

else

}while

(current1 < arr1.length)

while

(current2 < arr2.length)

return arr;

}

ps:有更好的辦法,就是先求出兩個陣列的長度和,因為兩個陣列都是有序,所以可以遍歷兩個陣列,遍歷的時候運用上面merge演算法的思維,即將遍歷過的數排好序,到達排好序的陣列長度為兩陣列長度和一半的時候停止遍歷,此時可根據兩陣列之和決定取中間那個數還是中間兩個數和的二分之一。

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

尋找兩個有序陣列的中位數 user hihone date 2019 1 31 time 16 32 description 給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 ...

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

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

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

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。題解 這個題只要找到中位數的索引就行,按照定義來。可能是主要考察快排,所以思路並沒有太深。cla...