首页 > 试题广场 >

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

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

输入描述:
第一行一个整数N,表示数组大小。
接下来一行N个整数,表示arr1内的元素
再接下来一行N个整数,表示arr内的元素


输出描述:
输出一个整数表示答案
示例1

输入

4
1 2 3 4
3 4 5 6

输出

3

说明

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

输入

3
0 1 2
3 4 5

输出

2

说明

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

备注:

这道题你会答吗?花几分钟告诉大家答案吧!