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 相关文章推荐
input、button的不同type值在ajax提交表单时导致的陷阱
Feb 24 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
Sep 26 Javascript
js 对小数加法精度处理示例说明
Dec 27 Javascript
Extjs根据条件设置表格某行背景色示例
Jul 23 Javascript
JavaScript获取DOM元素的11种方法总结
Apr 25 Javascript
javascript实现textarea中tab键的缩排处理方法
Jun 26 Javascript
jQuery手指滑动轮播效果
Dec 22 Javascript
jQuery扩展+xml实现表单验证功能的方法
Dec 25 Javascript
深入理解JavaScript继承的多种方式和优缺点
May 12 Javascript
JS使用队列对数组排列,基数排序算法示例
Mar 02 Javascript
关于vue状态过渡transition不起作用的原因解决
Apr 09 Javascript
JS自定义滚动条效果
Mar 13 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
php 缓存函数代码
2008/08/27 PHP
PHP 实用代码收集
2010/01/22 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
php利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
php中define用法实例
2015/07/30 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
php微信开发之关注事件
2018/06/14 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
2020/04/13 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
Vue export import 导入导出的多种方式与区别介绍
2020/02/12 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
使用PYTHON接收多播数据的代码
2012/03/01 Python
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
Python实现二分法算法实例
2015/02/02 Python
Python记录详细调用堆栈日志的方法
2015/05/05 Python
python shell根据ip获取主机名代码示例
2017/11/25 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
python:print格式化输出到文件的实例
2018/05/14 Python
python实现比较文件内容异同
2018/06/22 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
Django关于admin的使用技巧和知识点
2020/02/10 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
法律专业个人实习自我鉴定
2013/09/23 职场文书
战略合作协议书范本
2014/04/18 职场文书
安全生产月演讲稿
2014/05/09 职场文书