首页 > 试题广场 >

在两个长度相等的排序数组中找到上中位数

[编程题]在两个长度相等的排序数组中找到上中位数
  • 热度指数:33347 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定两个递增数组arr1和arr2,已知两个数组的长度都为N,求两个数组中所有数的上中位数。
上中位数:假设递增序列长度为n,为第n/2个数

数据范围:

要求:时间复杂度 ,空间复杂度
进阶:时间复杂度为,空间复杂度为

示例1

输入

[1,2,3,4],[3,4,5,6]

输出

3

说明

总共有8个数,上中位数是第4小的数,所以返回3。   
示例2

输入

[0,1,2],[3,4,5]

输出

2

说明

总共有6个数,那么上中位数是第3小的数,所以返回2   
示例3

输入

[1],[2]

输出

1

备注:

class Solution:
    def findMedianinTwoSortedAray(self , arr1: List[int], arr2: List[int]) -> int:
        for i in arr2:
            arr1.append(i)
        arr1.sort()
        n=int(len(arr1)/2)
        return(arr1[n-1])
发表于 2023-03-16 14:55:51 回复(0)