JavaScript實(shí)現(xiàn)獲取兩個(gè)排序數(shù)組的中位數(shù)算法示例
本文實(shí)例講述了JavaScript實(shí)現(xiàn)獲取兩個(gè)排序數(shù)組的中位數(shù)算法。分享給大家供大家參考,具體如下:
題目
給定兩個(gè)大小為 m 和 n 的有序數(shù)組 nums1 和 nums2 。
請(qǐng)找出這兩個(gè)有序數(shù)組的中位數(shù)。要求算法的時(shí)間復(fù)雜度為 O(log (m+n)) 。
你可以假設(shè) nums1 和 nums2 不同時(shí)為空。
示例 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代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼,可得如下運(yùn)行結(jié)果:

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

