JavaScript实现获取两个排序数组的中位数算法示例


Posted in Javascript onFebruary 26, 2019

本文实例讲述了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.3water.com/code/HtmlJsRun测试上述代码,可得如下运行结果:

 JavaScript实现获取两个排序数组的中位数算法示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
利用json获取字符出现次数的代码
Mar 22 Javascript
js弹出窗口之弹出层的小例子
Jun 17 Javascript
使用js实现关闭js弹出层的窗口
Feb 10 Javascript
jquery事件preventDefault()方法用法实例
Jan 16 Javascript
原生js实现图片轮播特效
Dec 18 Javascript
JavaScript的React框架中的JSX语法学习入门教程
Mar 05 Javascript
javascript验证手机号和实现星号(*)代替实例
Aug 16 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
Mar 05 Javascript
基于JavaScript实现瀑布流布局
Aug 15 Javascript
vue的全局变量和全局拦截请求器的示例代码
Sep 13 Javascript
微信小程序全局变量的设置、使用、修改过程解析
Sep 24 Javascript
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
小程序hover-class点击态效果实现
Feb 26 #Javascript
JS实现计算小于非负数n的素数的数量算法示例
Feb 26 #Javascript
vue使用Font Awesome的方法步骤
Feb 26 #Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
Feb 26 #Javascript
create-react-app使用antd按需加载的样式无效问题的解决
Feb 26 #Javascript
JS实现电话号码的字母组合算法示例
Feb 26 #Javascript
JS实现的合并两个有序链表算法示例
Feb 25 #Javascript
You might like
使PHP自定义函数返回多个值
2006/11/26 PHP
在普通HTTP上安全地传输密码
2007/07/21 PHP
php mssql扩展SQL查询中文字段名解决方法
2012/10/15 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
php批量修改表结构实例
2017/05/24 PHP
IE6-IE9不支持table.innerHTML的解决方法分享
2012/09/14 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
2013/06/02 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
Angular2学习教程之TemplateRef和ViewContainerRef详解
2017/05/25 Javascript
简述vue中的config配置
2018/01/23 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
Python实现多线程下载文件的代码实例
2014/06/01 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
python异常处理之try finally不报错的原因
2020/05/18 Python
python处理写入数据代码讲解
2020/10/22 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
软件工程师面试题
2012/06/25 面试题
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
英语专业毕业生自荐信
2013/10/28 职场文书
年终奖发放方案
2014/06/02 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
2014年六五普法工作总结
2014/11/25 职场文书