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 相关文章推荐
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
Jul 04 Javascript
ExtJS判断IE浏览器类型的方法
Feb 10 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
Jan 22 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
Nov 07 Javascript
利用angular.copy取消变量的双向绑定与解析
Nov 25 Javascript
微信小程序之数据双向绑定与数据操作
May 12 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
Apr 15 Javascript
原生JS实现留言板功能
Feb 08 Javascript
详解Vue3 Composition API中的提取和重用逻辑
Apr 29 Javascript
JavaScript实现京东快递单号查询
Nov 30 Javascript
使用Mock.js生成前端测试数据
Dec 13 Javascript
Angular性能优化之第三方组件和懒加载技术
May 10 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网页缓存技术优点及代码实例
2020/07/29 PHP
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
js select常用操作控制代码
2010/03/16 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
JS实现简洁、全兼容的拖动层实例
2015/05/13 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
Javascript计算二维数组重复值示例代码
2016/12/18 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
2017/02/09 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
HTML的form表单和django的form表单
2019/07/25 Python
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
工厂保洁员岗位职责
2013/12/04 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
运动会演讲稿300字
2014/08/25 职场文书
银行委托书范本
2014/09/28 职场文书
资产运营委托书范本
2014/10/16 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
最感人的道歉情书
2015/05/12 职场文书
技术转让协议书
2016/03/19 职场文书
python迷宫问题深度优先遍历实例
2021/06/20 Python
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL