您好,登錄后才能下訂單哦!
本文實例講述了JavaScript實現獲取兩個排序數組的中位數算法。分享給大家供大家參考,具體如下:
題目
給定兩個大小為 m 和 n 的有序數組 nums1 和 nums2 。
請找出這兩個有序數組的中位數。要求算法的時間復雜度為 O(log (m+n)) 。
你可以假設 nums1 和 nums2 不同時為空。
示例 1:
nums1 = [1, 3]
nums2 = [2]
中位數是 2.0
示例 2:
nums1 = [1, 2]
nums2 = [3, 4]
中位數是 (2 + 3)/2 = 2.5
分析:用數組排序方法輕松解決
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 //中位數 } 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測試上述代碼,可得如下運行結果:
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript數組操作技巧總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。