九度OJ 1097:取中值 (中值)
时间限制: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
思路:
借鉴归并算法中的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:取中值 (中值)的更多相关文章
- 九度oj 题目1534:数组中第K小的数字
题目描述: 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C. 譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6]. 现在给你数组A和B ...
- 九度OJ 题目1534:数组中第K小的数字(二分解)
题目链接:点击打开链接 题目描述: 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C. 譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6 ...
- 九度oj题目1348:数组中的逆序对
题目1348:数组中的逆序对 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2572 解决:606 题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序 ...
- 九度oj 题目1373:整数中1出现的次数(从1到n整数中1出现的次数)
题目描述: 亲们!!我们的外国友人YZ这几天总是睡不好,初中奥数里有一个题目一直困扰着他,特此他向JOBDU发来求助信,希望亲们能帮帮他.问题是:求出1~13的整数中1出现的次数,并算出100~130 ...
- 九度oj 题目1370:数组中出现次数超过一半的数字
题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2 ...
- 九度oj 题目1348:数组中的逆序对
题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数. 输入: 每个测试案例包括两行: 第一行包含一个整数n,表示数组 ...
- 九度oj 题目1096:日期差值
题目描述: 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 输入: 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出: 每组数据输出一行, ...
- 九度OJ 题目1384:二维数组中的查找
/********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...
- 剑指Offer - 九度1349 - 数字在排序数组中出现的次数
剑指Offer - 九度1349 - 数字在排序数组中出现的次数2013-11-23 00:47 题目描述: 统计一个数字在排序数组中出现的次数. 输入: 每个测试案例包括两行: 第一行有1个整数n, ...
随机推荐
- [LeetCode] Text Justification words显示的排序控制
Given an array of words and a length L, format the text such that each line has exactly L characters ...
- UVA - 10050 Hartals
#include <cstdio> #include <cstring> ]; ]; int main() { int t; scanf("%d", &am ...
- js、jq平时积累
1.window.onbeforeunload = function(){$(window).scrollTop(0);} //在即将离开当前页面(刷新或关闭)时执行 JavaScript ...
- Java 内存查看与分析
1:gc日志输出 在jvm启动参数中加入 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimestamps -XX:+PrintGCApplication ...
- 利用github搭建个人网站
1.注册一个github https://github.com/ 2.新建一个仓库 仓库名 用 Owner.github.io 的格式,然后点击创建 3.源码上传至github 安装github桌 ...
- Codeforces 786B Legacy(线段树优化建图)
题目链接 Legacy 首先对于输入的$n$,建立一棵线段树. 显然线段树有大概$2n$个结点,每个节点对应一段区间 我们把这$2n$个结点加入我们的无向图中,一起跑最短路. 具体连边方案: 我们把 ...
- 虚拟机centos 同一个tomcat、不同端口访问不同的项目
在tomcat中复制webapps目录,并重命名:
- Django简单粗暴快速发送邮件!
>>尽管Python已经提供了相对易用的邮件发送模块 smtplib ,但Django仍对其做了轻度的封装.封装后的模块不仅发送邮件速度快,而且在开发环境下也很容易对邮件发送进行测试, 并 ...
- jvm类加载的过程
java类加载过程:加载-->验证-->准备-->解析-->初始化,之后类就可以被使用了.绝大部分情况下是按这 样的顺序来完成类的加载全过程的.但是是有例外的地方,解析也是可以 ...
- BZOJ1005明明的烦恼 Prufer + 分解質因數 + 高精度
@[高精度, Prufer, 質因數分解] Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在 任意两点间连线,可产生多 ...