题目1004:Median 2011年浙江大学计算机及软件工程研究生机试真题
2017-06-07 12:02
417 查看
题目描述:
S1={11, 12, 13, 14} is 12,
S2={9, 10, 15, 16, 17} is 15. 输入:
输入:若干升序序列,每个序列两行,第一个数字表示数组元素个数。
输出: 每一个case中两个序列的中位数。
样例输入: 4 11 12 13 14
5 9 10 15 16 17
样例输出: 13
解题思路:把两个有序数组合并,sort,根据总长度直接找出中位数。
这道题做的还不够完善,因为题目要求每个序列的元素个数N (≤1000000)。
如果固定初始化这么大的数组,会出错。只是九度OJ这个平台的测试用例少,没有边缘case,才会通过。先记录一下,有待完善
S1={11, 12, 13, 14} is 12,
S2={9, 10, 15, 16, 17} is 15. 输入:
输入:若干升序序列,每个序列两行,第一个数字表示数组元素个数。
输出: 每一个case中两个序列的中位数。
样例输入: 4 11 12 13 14
5 9 10 15 16 17
样例输出: 13
解题思路:把两个有序数组合并,sort,根据总长度直接找出中位数。
#include <stdio.h> #include <algorithm> using namespace std; int main() { int a,b; int s[200000]; while(scanf("%d",&a)!=EOF) { int i; int re; for(i=0;i<a;i++) { scanf("%d",&s[i]); } scanf("%d",&b); for(i=a;i<b+a;i++) { scanf("%d",&s[i]); } sort(s,s+a+b); re=(a+b)%2==0?((a+b)/2-1):(a+b-1)/2; printf("%d\n",s[re]); } return 0; }
这道题做的还不够完善,因为题目要求每个序列的元素个数N (≤1000000)。
如果固定初始化这么大的数组,会出错。只是九度OJ这个平台的测试用例少,没有边缘case,才会通过。先记录一下,有待完善
相关文章推荐
- 1004 Median(2011年浙江大学计算机及软件工程研究生机试真题)
- 题目1002:Grading 2011年浙江大学计算机及软件工程研究生机试真题
- 题目1021:统计字符 2007年浙江大学计算机及软件工程研究生机试真题
- 题目1017:还是畅通工程(2006年浙江大学计算机及软件工程研究生机试真题)
- A+B for Matrices(2011年浙江大学计算机及软件工程研究生机试真题)
- 2011年浙江大学计算机及软件工程研究生机试真题(1)
- 题目1007:奥运排序问题 2010年浙江大学计算机及软件工程研究生机试真题
- 2011年浙江大学计算机及软件工程研究生机试真题
- 2011年浙江大学计算机及软件工程研究生机试真题(2)
- 题目1003:A+B 2010年浙江大学计算机及软件工程研究生机试真题
- 题目1027:欧拉回路 2008年浙江大学计算机及软件工程研究生机试真题
- 九度 1002- A+B for Matrices -2011年浙江大学计算机及软件工程研究生机试真题
- 题目1018:统计同成绩学生人数(哈希算法,2006年浙江大学计算机及软件工程研究生机试真题)
- 九度题目1014:排名 && 2005年浙江大学计算机及软件工程研究生机试真题
- 1002 Grading(2011年浙江大学计算机及软件工程研究生机试真题)
- 题目1024:畅通工程 2007年浙江大学计算机及软件工程研究生机试真题
- 题目1023:EXCEL排序 2007年浙江大学计算机及软件工程研究生机试真题
- 2005年浙江大学计算机及软件工程研究生机试真题 -九度题目1013:开门人和关门人
- 九度题目1024:畅通工程 2007年浙江大学计算机及软件工程研究生机试真题
- 九度题目1003:A+B && 2010年浙江大学计算机及软件工程研究生机试真题