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 相关文章推荐
AJAX架构之Dojo篇
Apr 10 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
Jul 01 Javascript
Jquery AJAX POST与GET之间的区别
Nov 14 Javascript
js 自动播放的实例代码
Nov 19 Javascript
js禁止回车提交表单的示例代码
Dec 23 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
Jan 26 Javascript
深入理解javascript作用域和闭包
Sep 23 Javascript
Jquery 实现grid绑定模板
Jan 28 Javascript
浅谈JavaScript正则表达式-非捕获性分组
Mar 08 Javascript
vue项目中api接口管理总结
Apr 20 Javascript
koa-passport实现本地验证的方法示例
Feb 20 Javascript
vue中利用three.js实现全景图的完整示例
Dec 07 Vue.js
小程序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/10/09 PHP
加速XP搜索功能堪比vista
2007/03/22 PHP
PHP5 字符串处理函数大全
2010/03/23 PHP
PHP array 的加法操作代码
2010/07/24 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
在Laravel中使用DataTables插件的方法
2018/05/29 PHP
FCK调用方法..
2006/12/21 Javascript
jquery 表单下所有元素的隐藏
2009/07/25 Javascript
不安全的常用的js写法
2009/09/15 Javascript
javascript attachEvent绑定多个事件执行顺序问题
2010/10/20 Javascript
关于跨站脚本攻击问题
2011/12/22 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
2019/01/18 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
Vue基于iview实现登录密码的显示与隐藏功能
2020/03/06 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
Python操作列表的常用方法分享
2014/02/13 Python
Python实现简单字典树的方法
2016/04/29 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
python实现控制台输出颜色
2021/03/02 Python
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
规划编制实施方案
2014/03/15 职场文书
个人向公司借款协议书
2014/10/09 职场文书
庆七一活动简报
2015/07/20 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书