宝哥软件园

获取两个排序数组的中值算法的JavaScript实现

编辑:宝哥软件园 来源:互联网 时间:2021-08-27

本文给出了一个用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 findcmediasentertedarrays=function(nums 1,nums 2){ for(I=0;inums 2 . length;I){ nums 1 . push(nums 2[I])} nums 1=nums 1 . sort(函数(a,b){ return B- a });//排序if (nums1。长度% 2==0) {return (nums1 [nums1。length/2] nums1 [nums1。length/2-1])/2//中位数} else {return nums1 [(nums1。length-1)/2]} } varnum 2]var nums2=[3,4]console . log(finmedianseortedrays(nums 1,nums 2))使用在线HTML/CSS/JavaScript代码运行该工具:http://tools.jb51.net/code/HtmlJsRun测试了上述代码,并获得了以下运行结果:

更多对JavaScript相关内容感兴趣的读者可以查看本网站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》和0103010

希望本文对JavaScript编程有所帮助。

更多资讯
游戏推荐
更多+