Leetcode代码练习(三)
2018-06-24 01:39:36来源:未知 阅读 ()
这一题对于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 }
为了增加代码的可读性,我将注意点通过注释的方式写在了代码里面。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:javascript闭包问题
- js防止表单重复提交实现代码 2020-03-29
- 基于JQuery的多标签实现代码 2020-03-29
- 鼠标悬浮停留三秒后自动显示大图js代码 2020-02-21
- 默认让页面的第一个控件选中的javascript代码 2020-02-20
- 鼠标放在图片上显示大图的JS代码 2020-02-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash