时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:5092

解决:1411

题目描述:

存在两组数组,和4个数字a,b,c,d,要求做如下操作,将第一个数组第a个数到第b个数,第二个数组的第c个数到第d个数放到一个数组中,求出合并后数组的中间值,如果有两个中间值,取下标较小的那个。

输入:

第一行一个整数t表示有t个测试数据

    第二行两个整数,表示两个数组的长度,

    接下来两行表示两个数字的值,

最后一行有四个整数a,b,c,d。

数组长度不会超过1000000。

输出:

每行一个整数,对应合并数组的下标在中间的那个值。

样例输入:
1
5 4
1 2 3 4 5
6 7 8 9
1 2
1 3
样例输出:
6
来源:
2009年上海交通大学计算机研究生机试真题

思路:

借鉴归并算法中的merge过程。

代码:

#include <stdio.h>

#define N 1000000

int a1[N], a2[N], a3[2*N];

int main(void)
{
int t, n1, n2, a, b, c, d, i, j, k;
//int a1[N], a2[N], a3[2*N]; while (scanf("%d", &t) != EOF)
{
for(i=0; i<t; i++)
{
scanf("%d%d", &n1, &n2);
for (j=0; j<n1; j++)
scanf("%d", &a1[j]);
for (j=0; j<n2; j++)
scanf("%d", &a2[j]);
scanf("%d%d", &a, &b);
scanf("%d%d", &c, &d);
for(j=a,k=0;j<=b;j++,k++)
{
a3[k]=a1[j-1];
}
for(j=c;j<=d;j++,k++)
{
a3[k]=a2[j-1];
}
printf("%d\n", a3[(k-1)/2]);
}
break;
} return 0;
}
/**************************************************************
Problem: 1097
User: liangrx06
Language: C
Result: Accepted
Time:50 ms
Memory:16540 kb
****************************************************************/

九度OJ 1097:取中值 (中值)的更多相关文章

  1. 九度oj 题目1534:数组中第K小的数字

    题目描述: 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C. 譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6]. 现在给你数组A和B ...

  2. 九度OJ 题目1534:数组中第K小的数字(二分解)

    题目链接:点击打开链接 题目描述: 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C. 譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6 ...

  3. 九度oj题目1348:数组中的逆序对

    题目1348:数组中的逆序对 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2572 解决:606 题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序 ...

  4. 九度oj 题目1373:整数中1出现的次数(从1到n整数中1出现的次数)

    题目描述: 亲们!!我们的外国友人YZ这几天总是睡不好,初中奥数里有一个题目一直困扰着他,特此他向JOBDU发来求助信,希望亲们能帮帮他.问题是:求出1~13的整数中1出现的次数,并算出100~130 ...

  5. 九度oj 题目1370:数组中出现次数超过一半的数字

    题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2 ...

  6. 九度oj 题目1348:数组中的逆序对

    题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数. 输入: 每个测试案例包括两行: 第一行包含一个整数n,表示数组 ...

  7. 九度oj 题目1096:日期差值

    题目描述: 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 输入: 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出: 每组数据输出一行, ...

  8. 九度OJ 题目1384:二维数组中的查找

    /********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...

  9. 剑指Offer - 九度1349 - 数字在排序数组中出现的次数

    剑指Offer - 九度1349 - 数字在排序数组中出现的次数2013-11-23 00:47 题目描述: 统计一个数字在排序数组中出现的次数. 输入: 每个测试案例包括两行: 第一行有1个整数n, ...

随机推荐

  1. 什么是GOP(转)

    所谓GOP,意思是画面组,MPEG格中的帧序列,分为I.P.B三种,如排成IBBPBBPBBPBBPBBP...样式,这种连续的帧图片组合即为GOP(画面群,GROUP OF PICTURE),是MP ...

  2. Day 17 编码+文本编辑+函数

    知识点篇: #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "DaChao" # Date: 2017/ ...

  3. AC日记——Pupils Redistribution Codeforces 779a

    A. Pupils Redistribution time limit per test 1 second memory limit per test 256 megabytes input stan ...

  4. 小程序-引用其他js文件

    我也是小白菜,之所以有这个记录是因为我做项目时遇到了这个问题 流程: 1.需要建立一个js文件   content.js function myContent() { console.log(&quo ...

  5. js拖拽效果的实现

    1.最基础的写法 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> < ...

  6. Latex algorithm

    方式一 需要包含的 \usepackage[noend]{algpseudocode} \usepackage{algorithmicx,algorithm} 源码 \begin{algorithm} ...

  7. 利用adb截屏

    一  第一种方式 二 第二种方式  

  8. luogu P2894 [USACO08FEB]酒店Hotel

    题目描述 The cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and enjoy a ...

  9. Android Glide源码分析

    1. 功能介绍 图片加载框架,相对于UniversalImageLoader,Picasso,它还支持video,Gif,SVG格式,支持缩略图请求,旨在打造更好的列表图片滑动体验.Glide有生命周 ...

  10. Highcharts常用的最核心的参数选项配置详细说明

    Highcharts提供大量的选项配置参数,您可以轻松定制符合用户要求的图表,目前官网只提供英文版的开发配置说明文档,而中文版的文档网上甚少,且零散不全.这里,我把Highcharts常用的最核心的参 ...