首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
多数组中位数
[编程题]多数组中位数
热度指数:1335
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
给定两个升序的数组 arr1 和 arr2 ,求两个数组合并后的下中位数
注意:下中位数指在两个数组的数个数在偶数时取更小的
数据范围:两个数组的长度都满足
,数组中的所有值都满足
示例1
输入
[1,2,3],[3,4,5]
输出
3
示例2
输入
[1,2,3],[4,5]
输出
3
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(12)
分享
纠错
提交结果有问题?
1个回答
9篇题解
添加回答
0
C
子沐728592488
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param arr1 int整型一维数组
* @param arr1Len int arr1数组长度
* @param arr2 int整型一维数组
* @param arr2Len int arr2数组长度
* @return int整型
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
int getUpMedian(int* arr1, int arr1Len, int* arr2, int arr2Len ) {
// write code here
int maxCount = (arr1Len + arr2Len + 1) / 2;
int ret = 0;
int i = 0;
int j = 0;
for (int count = 0; count < maxCount; count++) {
if (i < arr1Len) {
if (j < arr2Len) {
if (arr1[i] < arr2[j]) {
ret = arr1[i++];
} else {
ret = arr2[j++];
}
} else {
ret = arr1[i++];
}
} else {
ret = arr2[j++];
}
}
return ret;
}
发表于 2022-07-10 13:07:31
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
分治
二分
堆
难度:
1条回答
12收藏
1520浏览
热门推荐
通过挑战的用户
查看代码
yinyi
2022-11-22 11:00:42
94的菜鸟
2022-11-08 23:54:02
ৡ晨ꦿ᭄࿐
2022-09-15 09:46:40
王小牛123
2022-09-11 10:17:46
雷欧尼桑
2022-09-09 22:53:47
相关试题
分组
基础数学
二分
评论
(11)
编程题:输入一个正整数,若该数能用...
网易
递归
分治
评论
(16)
要求先给出思路,然后写代码,可以使...
搜狐
查找
分治
评论
(3)
设某二叉树的先序遍历序列为abdg...
树
评论
(1)
2022 诺瓦科技 Perl re...
perl
System Verilog
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型一维数组 * @param arr2 int整型一维数组 * @return int整型 */ public int getUpMedian (int[] arr1, int[] arr2) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型vector * @param arr2 int整型vector * @return int整型 */ int getUpMedian(vector
& arr1, vector
& arr2) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param arr1 int整型一维数组 # @param arr2 int整型一维数组 # @return int整型 # class Solution: def getUpMedian(self , arr1 , arr2 ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型一维数组 * @param arr2 int整型一维数组 * @return int整型 */ public int getUpMedian (List
arr1, List
arr2) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型一维数组 * @param arr2 int整型一维数组 * @return int整型 */ function getUpMedian( arr1 , arr2 ) { // write code here } module.exports = { getUpMedian : getUpMedian };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param arr1 int整型一维数组 # @param arr2 int整型一维数组 # @return int整型 # class Solution: def getUpMedian(self , arr1: List[int], arr2: List[int]) -> int: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型一维数组 * @param arr2 int整型一维数组 * @return int整型 */ func getUpMedian( arr1 []int , arr2 []int ) int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型一维数组 * @param arr1Len int arr1数组长度 * @param arr2 int整型一维数组 * @param arr2Len int arr2数组长度 * @return int整型 */ int getUpMedian(int* arr1, int arr1Len, int* arr2, int arr2Len ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param arr1 int整型一维数组 # @param arr2 int整型一维数组 # @return int整型 # class Solution def getUpMedian(arr1, arr2) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型一维数组 * @param arr2 int整型一维数组 * @return int整型 */ def getUpMedian(arr1: Array[Int],arr2: Array[Int]): Int = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型一维数组 * @param arr2 int整型一维数组 * @return int整型 */ fun getUpMedian(arr1: IntArray,arr2: IntArray): Int { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型一维数组 * @param arr2 int整型一维数组 * @return int整型 */ public int getUpMedian (int[] arr1, int[] arr2) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型一维数组 * @param arr2 int整型一维数组 * @return int整型 */ export function getUpMedian(arr1: number[], arr2: number[]): number { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型一维数组 * @param arr2 int整型一维数组 * @return int整型 */ func getUpMedian ( _ arr1: [Int], _ arr2: [Int]) -> Int { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr1 int整型一维数组 * @param arr2 int整型一维数组 * @return int整型 */ pub fn getUpMedian(&self, arr1: Vec
, arr2: Vec
) -> i32 { // write code here } }
[1,2,3],[3,4,5]
3
[1,2,3],[4,5]
3