首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
两个有序数组的中位数
[编程题]两个有序数组的中位数
热度指数:25709
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32M,其他语言64M
算法知识视频讲解
有两个大小分别为m和n的有序数组
A
和
B
。请找出这两个数组的
中位数
。你需要给出时间复杂度在
O(log (m+n))以内的算法。
示例1
输入
[],[1]
输出
1.00000
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(57)
邀请回答
收藏(140)
分享
提交结果有问题?
68个回答
3篇题解
开通博客
予辰
发表于 2020-07-08 11:37:40
题目描述有两个大小分别为m和n的有序数组A和B。请找出这两个数组的中位数。你需要给出时间复杂度在O(log (m+n))以内的算法。思路分析两个大小分别为m和n的有序数组,我们要找出它们的中位数,而且要求时间复杂度是对数级别的,那么我们自然而然地就会想到二分查找算法,可是要怎么进行呢?寻找这两个数组
展开全文
华科不平凡
发表于 2020-08-15 19:20:41
时间复杂度为O(log(m+n)),直接想到二分法。 求两个排序数组的中位数,即求两个排序数组中: 第k个数(k=(m+n+1)/2,如果m+n为奇数) 第k个数与第k+1个数的平均值(k=(m+n)/2,k+1=1+(m+n)/2,如果m+n为偶数) 问题转化为求两个数组中的第k个数,分情况讨
展开全文
CnpandaXu
发表于 2020-07-16 16:52:42
双指针解决 class Solution {public: double findMedianSortedArrays(int A[], int m, int B[], int n) { int p1 = 0, p2 = 0; int left = -1, righ
展开全文
问题信息
链表
排序
难度:
68条回答
140收藏
28063浏览
热门推荐
通过挑战的用户
查看代码
陀飞轮2019...
2023-02-03 09:00:15
小石皮
2022-10-23 16:35:57
double_...
2022-10-05 14:19:51
Varus20...
2022-08-20 17:11:50
牛客96664...
2022-07-11 17:17:03
相关试题
在下列表述中,错误的是()
字符串
树
排序
评论
(43)
3.1996至2003年间,从事高...
资料分析
言语理解与表达
资料分析
评论
(1)
电路板布线的时候尽量采用( )折线布线
PCB
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
图中U和I分别为
电路基础
评论
(1)
两个有序数组的中位数
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * * @param A int整型一维数组 * @param B int整型一维数组 * @return double浮点型 */ public double findMedianSortedArrays (int[] A, int[] B) { // write code here } }
class Solution { public: double findMedianSortedArrays(int A[], int m, int B[], int n) { } };
# # # @param A int整型一维数组 # @param B int整型一维数组 # @return double浮点型 # class Solution: def findMedianSortedArrays(self , A , B ): # write code here
/** * * @param A int整型一维数组 * @param B int整型一维数组 * @return double浮点型 */ function findMedianSortedArrays( A , B ) { // write code here } module.exports = { findMedianSortedArrays : findMedianSortedArrays };
# # # @param A int整型一维数组 # @param B int整型一维数组 # @return double浮点型 # class Solution: def findMedianSortedArrays(self , A , B ): # write code here
package main /** * * @param A int整型一维数组 * @param B int整型一维数组 * @return double浮点型 */ func findMedianSortedArrays( A []int , B []int ) float64 { // write code here }
[],[1]
1.00000