首页 > 试题广场 >

两个升序数组的中位数

[编程题]两个升序数组的中位数
  • 热度指数:1188 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定两个长度为 n 和 m 的升序数组(后一个数一定大于等于前一个数),请你找到这两个数组中全部元素的中位数。

数据范围: ,数组中的元素满足
示例1

输入

[1,2,3,4,5],[6,7,8,9]

输出

5
示例2

输入

[1,2,3,8,9],[4,5,6,7]

输出

5
示例3

输入

[1,3,4],[1,4,4]

输出

3.5
export function Median(nums1: number[], nums2: number[]): number {
    // write code here
    let res:number=0
    let newArr:Array<number>=[...nums1,...nums2].sort((a,b)=>a-b)
    if(newArr.length%2!==0){
        res=newArr[(newArr.length-1)/2]
    }else{
        res=(newArr[newArr.length/2-1]+newArr[newArr.length/2])/2
    }
    return res
}
发表于 2023-06-22 12:26:24 回复(0)

问题信息

难度:
1条回答 1809浏览

热门推荐

通过挑战的用户

查看代码