JavaScript實現(xiàn)獲取兩個排序數(shù)組的中位數(shù)算法示例
本文實例講述了JavaScript實現(xiàn)獲取兩個排序數(shù)組的中位數(shù)算法。分享給大家供大家參考,具體如下:
題目
給定兩個大小為 m 和 n 的有序數(shù)組 nums1 和 nums2 。
請找出這兩個有序數(shù)組的中位數(shù)。要求算法的時間復(fù)雜度為 O(log (m+n)) 。
你可以假設(shè) nums1 和 nums2 不同時為空。
示例 1:
nums1 = [1, 3]
nums2 = [2]
中位數(shù)是 2.0
示例 2:
nums1 = [1, 2]
nums2 = [3, 4]
中位數(shù)是 (2 + 3)/2 = 2.5
分析:用數(shù)組排序方法輕松解決
JS代碼:
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 //中位數(shù)
}
else{return nums1[(nums1.length-1)/2]}
}
var nums1 = [1, 2]
var nums2 = [3, 4]
console.log(findMedianSortedArrays(nums1,nums2))
使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運行結(jié)果:

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
JS監(jiān)聽和響應(yīng)DOM元素的變化的方法
在前端開發(fā)中,處理動態(tài)變化的 DOM(文檔對象模型)很是常見的需求,比如自動化測試中,可能需要監(jiān)控 DOM 變化來驗證測試條件,在用戶填寫表單時,某些字段需要即時驗證等,所以本文給大家介紹了JS監(jiān)聽和響應(yīng)DOM元素的變化的方法,需要的朋友可以參考下2024-09-09
JavaScript利用img實現(xiàn)前端頁面埋點功能
做數(shù)據(jù)分析的時候需要獲取足量的有效數(shù)據(jù),這個時候就需要我們在前端頁面埋點。如何來實現(xiàn)一個前端埋點功能,本文就帶你上手試試2022-06-06
使用jsonp實現(xiàn)跨域獲取數(shù)據(jù)實例講解
這篇文章主要介紹了使用jsonp實現(xiàn)跨域獲取數(shù)據(jù)實例講解,需要的朋友可以參考下2016-12-12

