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實現(xiàn)div模擬模態(tài)對話框展現(xiàn)URL內(nèi)容
這篇文章主要介紹了js實現(xiàn)div模擬模態(tài)對話框展現(xiàn)URL內(nèi)容的功能,涉及javascript動態(tài)操作頁面元素樣式與ajax調(diào)用的相關(guān)技巧,需要的朋友可以參考下2016-05-05JS與Jquery獲取屏幕、瀏覽器、頁面的寬度和高度對比整理
頁面的展示,從外到內(nèi)的容器為:屏幕、瀏覽器以及頁面本身。HTML元素展現(xiàn)在頁面內(nèi),頁面展現(xiàn)在瀏覽器內(nèi),而瀏覽器展現(xiàn)在屏幕內(nèi)。通過Js的一些對象可以獲取這些容器的高度、寬度。容器的尺寸是指當(dāng)前分辨率下的高度和寬度(分辨率不同,值就不相同)。2023-02-02