JavaScript實現獲取兩個排序數組的中位數算法示例

本文實例講述了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))
相關文章
相關標籤/搜索