• 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))
  • 相关阅读:
    帮忙看看怎么优化这个最长的sql
    12种不宜使用的Javascript语法
    走格子
    乘法逆元
    完美字符串
    全排列问题
    A. Sorting Railway Cars
    Prim
    矩阵取数
    套题T8&T9
  • 原文地址:https://www.cnblogs.com/good10000/p/10612949.html
Copyright © 2020-2023  润新知