JavaScript实现获取两个排序数组的中位数算法示例

假期很短暂,快乐却无边,工作很苦闷,赚钱最重要,陶醉在假期的快乐中,奋斗在工作的战线中,苦中寻乐一点甜,快乐与你长相伴。

本文实例讲述了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.haodaima.com/code/HtmlJsRun测试上述代码,可得如下运行结果:

希望本文所述对大家JavaScript程序设计有所帮助。

本文JavaScript实现获取两个排序数组的中位数算法示例到此结束。这一生中,我们固执地以自己喜欢的方式存在着,并渴望与自己同行的人,也能按照这种方式来演绎生活的节奏。于是,为了生计、爱情和梦想,我们在无数次的摩擦与碰撞中,慢慢地改变着并湮没了原来的自己。来到这个世界上,我们谁都没有错,就是因为固守或者改变得太多,我们错过了很多烟花般的美丽。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
javascript请求servlet实现ajax示例(分享)

JavaScript操作表单_动力节点Java学院整理

纯javascript的ajax实现php异步提交表单的简单实例

JavaScript实现Ajax总结

初步了解JavaScript,Ajax,jQuery,并比较三者关系