2-13. 两个有序序列的中位数(25)
来源:互联网 发布:淘宝卖家4.6 编辑:程序博客网 时间:2024/06/05 00:20
2-13. 两个有序序列的中位数(25)
时间限制
120 ms
内存限制
32000 kB
代码长度限制
8000 B
判题程序
Standard
已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0, A1…AN-1的中位数指A(N-1)/2的值,即第[(N+1)/2]个数(A0为第1个数)。
输入格式说明:
输入分3行。第1行给出序列的公共长度N(0<N<=100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。
输出格式说明:
在一行中输出两个输入序列的并集序列的中位数。
样例输入与输出:
序号输入输出151 3 5 7 92 3 4 5 6
42
6-100 -10 1 1 1 1-50 0 2 3 4 5
13
31 2 34 5 6
34
34 5 61 2 3
35
121
1
#include<stdio.h>#include<vector>using namespace std;vector<int> a1,a2,a3; //向量a1,a2; 向量3是交集向量int main(){int num,n;int i,j;scanf("%d",&num);for(i=0;i<num;i++){scanf("%d",&n);a1.push_back(n);}for(i=0;i<num;i++){scanf("%d",&n); a2.push_back(n);}int j1=0,j2=0;int pos=(num*2+1)/2;int count=0; // 用于计数//获得中位数算法, 寻找第(N+1)/2个数while(j1!=num && j2!=num) //a1,a2有一个数组到了尽头, 就终止循环{int temp;if(a1[j1]==a2[j2]){count+=2;//printf("%d=%d:%d\n",a1[j1],a2[j2],count);temp=a1[j1];a3.push_back(a1[j1]);j1++;j2++;}else if(a1[j1]<a2[j2]){count++;//printf("%d<%d:%d\n",a1[j1],a2[j2],count);temp=a1[j1];j1++;}else{count++;//printf("%d>%d:%d\n",a1[j1],a2[j2],count);temp=a2[j2];j2++;}if(count>=pos){printf("%d",temp);break;}}return 0;}
0 0
- 2-13. 两个有序序列的中位数(25)
- 2-13. 两个有序序列的中位数(25)
- 2-13. 两个有序序列的中位数(25)(ZJU_PAT 链表 | 数组 )
- 两个有序序列的中位数(详解)
- PAT1019. 两个有序序列的中位数(25)
- 两个有序序列的中位数(25 分)
- 两个有序序列的中位数(25 分)
- 7-1 两个有序序列的中位数(25 分)
- 7-19 两个有序序列的中位数(25 分)
- 两个有序序列的中位数
- 两个有序序列的中位数
- 浙大PAT 2-13. 两个有序序列的中位数 (解题思路)
- 5-53 两个有序序列的中位数 (25分)
- 5-7 两个有序序列的中位数 (25分)
- PAT DS 2-13两个有序序列的中位数
- 实验项目2-13:两个有序序列的中位数
- 两个有序序列的中位数(二分搜索)
- pat 两个有序序列的中位数
- cocos2dx3.0游戏编程-前言
- java的输入语句小结
- codeforces-DIV2-A-Jzzhu and Children
- 开始我的博客之旅
- DIV+CSS两种盒子模型
- 2-13. 两个有序序列的中位数(25)
- 转:ubuntu命令行模式和图形界面切换
- 互联网 励志
- 2014年7月19日 22:58:57计划
- codeforces-DIV2-B- Jzzhu and Sequences
- Jthread1.3.1 Jrtplib3.9.1跨平台交叉编译之Android(一)
- 目前比较全面的浏览器CSS BUG兼容汇总
- 逻辑电门分析应用
- badblocks 检查硬盘是否有坏道