每天一道算法题(三)

阅读: 评论:0

每天一道算法题(三)

每天一道算法题(三)

寻找两个有序数组的中位数

给定两个大小为 mn 的有序数组 nums1nums2
请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。
你可以假设 nums1nums2 不会同时为空。
示例1:

nums1 = [1, 3]
nums2 = [2]
则中位数是 2.0

示例二:

nums1 = [1, 2]
nums2 = [3, 4]
则中位数是 (2 + 3)/2 = 2.5

/*** @param {number[]} nums1* @param {number[]} nums2* @return {number}*/
var findMedianSortedArrays = function(nums1, nums2) {};

这道题也挺简单的,就是先合并数组,然后排序,最后寻找中位数。

var findMedianSortedArrays = function(nums1, nums2) {nums1.push(...nums2)nums1.sort(sort)console.log(nums1)if(nums1.length%2 === 1){return nums1[Math.floor(nums1.length/2)]}else{let num2 = nums1[nums1.length/2]let num1 = nums1[nums1.length/2-1]return (num1+num2)/2}function sort(a,b){if(a>b) return 1;return -1}
};

耗时:136ms
内存: 33.9mb

本文发布于:2024-01-30 23:43:09,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170662939223689.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:算法
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23