加载中...

POJ 2388 - Who's in the Middle


问题描述

给定n个数,输出中间值(注意不是求平均)。

解题思路

可以用 sort,干脆快捷,但是注意排序起止位置。

也可以用 quicksort,(最好用随机快排,尝试一下 srandrand) 。

没什么要注意的水题,不过真要注意的话,就不要用冒泡、插入、选择排序之类的O(n^2)算法,1W个数铁定超时。

测试数据

AC 源码

//Memory  Time
//292K    47MS  

#include<iostream>
#include<iomanip>
#include<algorithm>
using namespace std;

int main(void)
{
    int n;
    while(cin>>n)
    {
        int* milk=new int[n+1];

        for(int i=1;i<=n;i++)
            cin>>milk[i];

        sort(milk+1,milk+n+1);

        cout<<milk[n/2+1]<<endl;

        delete milk;
    }
    return 0;
}

相关资料


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
  目录