zoukankan      html  css  js  c++  java
  • 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代码

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    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框架
    HTML链接
    kzalloc 函数详解(转载)
    LCD接口(转载)
    S3C2440上RTC时钟驱动开发实例讲解(转载)
    PHP 真值与空值
    http chunked 理解
    c# 基础
    美式音标注意事项
    groovy 闭包
  • 原文地址:https://www.cnblogs.com/good10000/p/10612949.html
Copyright © 2011-2022 走看看