博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT A1029
阅读量:5739 次
发布时间:2019-06-18

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

clipboard.png

起先自己想尝试性的直接排序找中位数,内存直接超限;

其实这道题可以采用归并排序的思路来做:

但是示例依旧白给。。。不过还是展现了一种思想,代码如下:

#include
#include
#include
#include
#include
using namespace std;using std::vector;const int maxn=1000010;const int INF=0x7fffffff;int a[maxn];int b[maxn];int main(){ int n,m; scanf("%d",&n); int index=0; for(int i=0;i

网上给出了一种示例,能够完全AC;

#include 
using namespace std;int k[200005];int main(){ int n, m, temp, count = 0; cin >> n; for (int i = 1; i <= n; i++) scanf("%d", &k[i]); k[n + 1] = 0x7fffffff; cin >> m; int midpos = (n + m + 1) / 2, i = 1; for (int j = 1; j <= m; j++) { scanf("%d", &temp); while (k[i] < temp) { count++; if (count == midpos) cout << k[i]; i++; } count++; if (count == midpos) cout << temp; } while (i <= n) { count++; if (count == midpos) cout << k[i]; i++; } return 0;}

具体的思路就是,输入第一个序列;

在输入第二个序列的时候进行判断,主要的判断逻辑为:
如果输入的值小于第一个序列的相应值,cout++,跳过该值;
如果大于相应值,进行向后判断,cout计算增加的值;
如果发现途中cout的值等于中点值,直接进行输出,程序停止;

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

你可能感兴趣的文章
5怎么选国外节点_房子装修,床垫怎么选?这5家床垫值得买
查看>>
变成一列_Excel一列数据转多行多列,这4条函数公式可以学起来
查看>>
手机超广角拍摄软件_如何用超广角“看开一点”?OPPO官方教学,这些大片装下整个夏天...
查看>>
rip协议中周期性广播路由信息的报文_关于RIP的一点小笔记--华为
查看>>
linux oracle无法解析指定的连接标识符_pl/sql连接oracle时候,提示无法解析指定的连接标识符...
查看>>
webstorm如何编写jsp_WebStorm中怎样运行JSP页面在浏览器中显示
查看>>
python自动填日志_python接口自动化(四十)- logger 日志 - 下(超详解)
查看>>
python文本可视化数据分析软件_数据探索很麻烦?推荐一款史上最强大的特征分析可视化工具:yellowbrick...
查看>>
python range(30)_python的range()函数
查看>>
windows python3 paramiko安装_Python3.3 Paramiko Windows安装错误
查看>>
ref获取元素 vue 删除子元素_vue 添加删除子元素
查看>>
mysql有回收站吗_mysql 回收站
查看>>
mysql时间戳参数_MySQL 时间戳(Timestamp)函数
查看>>
mysql 分组返回_MySQL-分组和总计,但返回每个分组中的所有行
查看>>
centos6 mysql 同步_centos 6.5设置mysql主从同步过程记录
查看>>
在MySQL中两个实体怎么匹配_如何设计数据库约束,以便两个实体只有其中两个字段值匹配才可以有多对多关系?...
查看>>
mysql索引 回表_记录下mysql索引以及回表
查看>>
php mysql 数组存储过程_php调用MySQL存储过程的方法集合(推荐)
查看>>
cd usr local mysql_不想每次都到: /usr/local/mysql/bin
查看>>
mysql线程保护_mysql事务隔离的问题?多线程并发怎么保证可靠?
查看>>