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之十二 删除事件核心方法
Jul 31 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
Sep 19 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
Nov 18 Javascript
jquery 操作iframe的几种方法总结
Dec 13 Javascript
jquery代码实现简单的随机图片瀑布流效果
Apr 20 Javascript
jQuery实现折叠、展开的菜单组效果代码
Sep 16 Javascript
Angular.js中用ng-repeat-start实现自定义显示
Oct 18 Javascript
通过扫描二维码打开app的实现代码
Nov 10 Javascript
Angular2入门--架构总览
Mar 29 Javascript
ES6基础之解构赋值(destructuring assignment)
Feb 21 Javascript
个人小程序接入支付解决方案
May 23 Javascript
将Vue组件库更换为按需加载的方法步骤
May 06 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 insert语法详解
2008/06/07 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2021/03/09 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
js 页面执行时间计算代码
2009/03/04 Javascript
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
IE本地存储userdata的一个bug说明
2010/07/01 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
extjs render 用法介绍
2013/09/11 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
CentOS中升级Python版本的方法详解
2017/07/10 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
Python如何读写二进制数组数据
2020/08/01 Python
python如何操作mysql
2020/08/17 Python
Python字典dict常用方法函数实例
2020/11/09 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
在C#中如何实现多态
2014/07/02 面试题
主题教育活动总结
2014/05/05 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
毕业横幅标语
2014/10/08 职场文书
学习心理学的体会
2014/11/07 职场文书
教师节领导致辞
2015/07/29 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏