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 相关文章推荐
使用jQuery实现的网页版的个人简历(可换肤)
Apr 19 Javascript
关于JS数组追加数组采用push.apply的问题
Jun 09 Javascript
Javascript writable特性介绍
Feb 27 Javascript
JavaScript中逗号运算符介绍及使用示例
Mar 13 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
Aug 24 Javascript
jquery 多个radio的click事件实例
Dec 03 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
Dec 19 Javascript
jQuery使用Layer弹出层插件闪退问题
Dec 22 Javascript
jQuery中的deferred使用方法
Mar 27 jQuery
jQuery操作css样式
May 15 jQuery
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 Javascript
JS Object构造函数之Object.freeze
Apr 28 Javascript
小程序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
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
JS使用getComputedStyle()方法获取CSS属性值
2014/04/23 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
2015/04/30 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
Bootstrap CSS布局之列表
2016/12/15 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/25 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
js代码实现轮播图
2020/05/04 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
使用Python脚本将Bing的每日图片作为桌面的教程
2015/05/04 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
matplotlib jupyter notebook 图像可视化 plt show操作
2020/04/24 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
面向对象编程OOP的优点
2013/01/22 面试题
博士学位自我鉴定范文
2013/12/26 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
群众路线学习心得体会范文
2014/11/05 职场文书
解析原生JS getComputedStyle
2021/05/25 Javascript
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP