本文實例講述了JavaScript排序代碼實現獲取兩個排序數組的中位數算法。分享給你們供你們參考,具體以下:算法
題目數組
給定兩個大小爲 m 和 n 的有序數組 nums1 和 nums2 。spa
請找出這兩個有序數組的中位數。要求算法的時間複雜度爲 O(log (m+n)) 。code
你能夠假設 nums1 和 nums2 不一樣時爲空。排序
示例 1:ip
nums1 = [1, 3]
nums2 = [2]ci
中位數是 2.0get
示例 2:io
nums1 = [1, 2]
nums2 = [3, 4]console
中位數是 (2 + 3)/2 = 2.5
分析:用數組排序方法輕鬆解決
JS代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
var
findMedianSortedArrays =
function
(nums1, nums2) {
for
(i=0;i<nums2.length;i++){
nums1.push(nums2[i])
}
nums1=nums1.sort(
function
(a,b){
return
b-a});
//排序
if
(nums1.length%2==0){
return
(nums1[nums1.length/2]+nums1[nums1.length/2-1])/2
//中位數
}
else
{
return
nums1[(nums1.length-1)/2]}
}
var
nums1 = [1, 2]
var
nums2 = [3, 4]
console.log(findMedianSortedArrays(nums1,nums2))
|