5-53 两个有序序列的中位数 (25分)

原创 2016年08月31日 11:55:58

5-53 两个有序序列的中位数 (25分)

已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0,A1,,AN1​​的中位数指A(N1)/2的值,即第(N+1)/2个数(A0​​为第1个数)。
输入格式:

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

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

5
1 3 5 7 9
2 3 4 5 6

输出样例1:

4

输入样例2:

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

输出样例2:

1

思路
生成两个链表(记录长度),比较寻找到中间的那一个,输出

点击访问 PTA-测验

#include <stdio.h>
#include<stdlib.h>
/* 评测结果 时间  结果  得分  题目  编译器     用时(ms)  内存(MB)  用户
2016-08-31 11:57    答案正确    25  5-53    gcc     44  1   569985011
测试点结果 测试点   结果  得分/满分   用时(ms)  内存(MB)
测试点1    答案正确    6/6     1   1
测试点2    答案正确    6/6     2   1
测试点3    答案正确    4/4     13  1
测试点4    答案正确    4/4     1   1
测试点5    答案正确    1/1     1   1
测试点6    答案正确    4/4     44  1
查看代码*/
int Move(int*,int*,int);

int main(){
    int n;
    scanf("%d",&n);
    int*a=(int*)malloc(sizeof(int)*n);
    int*b=(int*)malloc(sizeof(int)*n);
    for(int i=0;i<n;i++)
scanf("%d",&a[i]);
    for(int i=0;i<n;i++)
    scanf("%d",&b[i]);
int Result=Move(a,b,n);
printf("%d",Result);

    return 0;
}


int Move(int*a,int*b,int n){
    while(--n){
        if(*a>=*b)++b;
        else ++a;
//      printf("%d-",(*a)>(*b)?(*b):(*a));
    }
    return (*a)>(*b)?(*b):(*a);
}
版权声明:写这些东西还是问了交流进步,如果你有不同的方法、见解,欢迎交流分享。文章中附的代码只传达当时我的一种做法,并非我认为最好的。

相关文章推荐

PAT 两个有序序列的中位数

PAT 两个有序序列的中位数

浙大PAT 2-13. 两个有序序列的中位数 (解题思路)

2-13. 两个有序序列的中位数 时间限制 40 ms 内存限制 32000 kB 代码长度限制 8000 B 判题程序 Stand...

浙江大学PAT上机题解析之2-13. 两个有序序列的中位数

已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0, A1…AN-1的中位数指A(N-1)/2的值,即第[(N+1)/2]个数(A0为第1个数)。 输入格式说明...

7-1 两个有序序列的中位数(25 分)

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

PTA5-53 两个有序序列的中位数

5-53 两个有序序列的中位数   (25分) 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A_0, A_1, \cdots, A_{N-1}...

pat 两个有序序列的中位数

代码:#include #include #include using namespace std; int a[1000000]; int main() { int n; whi...

2-13. 两个有序序列的中位数(25)

2-13. 两个有序序列的中位数(25) 时间限制 120 ms 内存限制 32000 kB 代码长度限制 8000 B ...

两个有序序列的中位数

5-7 两个有序序列的中位数 (25分)已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0,A1,⋯,AN−1A_0, A_1, \cdots, A_{N-1...

2-13. 两个有序序列的中位数(25)(ZJU_PAT 链表 | 数组 )

2-13. 两个有序序列的中位数(25)(ZJU_PAT 链表 | 数组 )

5-7 两个有序序列的中位数 (25分)

已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A_0, A_1, \cdots, A_{N-1}A​0​​,A​1​​,⋯,A​N−1​​的中位数指A_{(N...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:5-53 两个有序序列的中位数 (25分)
举报原因:
原因补充:

(最多只允许输入30个字)