博客
关于我
PTA 7-3 两个有序序列的中位数 (25 分)
阅读量:739 次
发布时间:2019-03-22

本文共 787 字,大约阅读时间需要 2 分钟。

已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋个数(A​0​​为第1个数)。

输入格式:

输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。

输出格式:

在一行中输出两个输入序列的并集序列的中位数。

输入样例1:

51 3 5 7 92 3 4 5 6

输出样例1:

4

输入样例2:

6-100 -10 1 1 1 1-50 0 2 3 4 5

输出样例2:

1
#include 
#define LIST_SIZE 100000int S1[LIST_SIZE],S2[LIST_SIZE];//直接求索引int Dealwith(n){ int i = 0,j = 0; int m = (2*n-1)/2; while(i + j < m) { if(S1[i] >= S2[j]) { j++; } else i++; } return S1[i]>S2[j]?S2[j]:S1[i];}int main(){ int n; scanf("%d",&n); int i; for(i = 0;i < n;i++) { scanf("%d",&S1[i]); } for(i = 0;i < n;i++) { scanf("%d",&S2[i]); } printf("%d\n",Dealwith(n)); return 0;}

 

转载地址:http://bkbwk.baihongyu.com/

你可能感兴趣的文章
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>