Leetcode代码练习(三)
生活随笔
收集整理的這篇文章主要介紹了
Leetcode代码练习(三)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這一題對于JavaScript來說其實是比較簡單的,JavaScript語言對于這一題很多步驟都有現成的API。
?
?
There are two sorted arrays?nums1?and?nums2?of size m and n respectively.
有兩個大小為 m 和 n 的排序數組?nums1?和?nums2?。
Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
請找出兩個排序數組的中位數并且總的運行時間復雜度為?O(log (m+n)) 。
?
?
例子:
nums1 = [1, 3] nums2 = [2]The median is 2.0 nums1 = [1, 2] nums2 = [3, 4] The median is (2 + 3)/2 = 2.5?
?
這里提一下這里中位數的概念,這里的中位數,是兩個數組的中位數,所以要先將兩個數組合并排序,然后求出中位數。
中位數要根據數組的長度分別考量,長度為奇數則為中間的那個值,長度為偶數,則為最靠近中間的兩個值的平均數。
以下是代碼:
1 var findMedianSortedArrays = function(nums1, nums2) { 2 //將兩個數組拼接成一個數組。 3 var arr = nums1.concat(nums2); 4 //將拼接之后的數組,進行排序。 5 arr = arr.sort(function(a, b) { 6 return a - b; 7 }); 8 var len = arr.length; 9 //根據數組的長度進行分情況返回,奇數則返回正中間的數,偶數則返回最靠近中間的兩個數的平均數。 10 if (len % 2 === 1) { 11 return arr[Math.floor(len/2)]; 12 } else { 13 return (arr[len/2 - 1] + arr[len/2]) / 2; 14 } 15 }為了增加代碼的可讀性,我將注意點通過注釋的方式寫在了代碼里面。
轉載于:https://www.cnblogs.com/menmenbule/p/8530976.html
總結
以上是生活随笔為你收集整理的Leetcode代码练习(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读《我们应当怎样做需求分析》后
- 下一篇: spring data jpa 官方文档