NYOJ 124 中位数(水题,nth_element()使用练习)

原创 2015年07月06日 22:08:29

中位数

时间限制:3000 ms  |            内存限制:65535 KB
难度:2
描述

一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数。

比如 1 5 10 11 9  其中位数就是9.因为排序过后,9处在中间位置。

现在给你一些数,请你求出其中位数。

输入
第一行输入一个整数T(1<=T<=1000)表示测试数据的组数。
随后的一行是一个奇数M,表示该组测试数据中共有M(1<=M<=1000)个数。
随后的一行有M个互不相同的整数,这些整数都不大于10000且不小于-10000。
输出
对于每组测试数据输出一个整数,表示这M个数的中位数。
样例输入
1
5
1 5 10 11 9
样例输出
9

 

水A法,直接排序找中间值:

 

#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
	int t,n,i,a[1010];
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		for(i=0;i<n;i++)
		   scanf("%d",&a[i]);
		sort(a,a+n);
		printf("%d\n",a[n/2]);
	}
	return 0;
}


 

 

nth_element()函数法(因为nth_element()只是对第n大的数经行排序,所以会比sort优化很多)

了解nth_element()函数请点击:点击打开链接

 

代码如下:

 

#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
	int t,n,i,a[1010];
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		for(i=0;i<n;i++)
		   scanf("%d",&a[i]);
		nth_element(a,a+n/2,a+n);
		printf("%d\n",a[n/2]);
	}
	return 0;
} 


 

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。如有错误,欢迎指出~(@^_^@)~

nyoj124中位数

中位数 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数。 比如 1...

NYOJ 124 中位数

中位数 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数。 比如 1...

nyoj 中位数 124 (数学)

中位数 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数。 比如 1...

ACM-中位数

描述 一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数。 比如 1 5 10 11 9  其中位数就是9.因为排序过后,9处在中间位置。 现在给你一些数,请你求出其中位数。 ...

【算法导论】中位数

一、选择法排序、冒泡排序、插入法排序 二、快速排序、分治法排序、堆排序 三、计数排序、基数排序、桶排序 gtest介绍及测试用例如下:测试框架之GTest MIT《算法导论》下载:hereor...
  • ceofit
  • ceofit
  • 2012年04月11日 22:20
  • 5999

算法----中位数算法的妙用(更新中)

部分背包问题: 一个窃贼去一家商店偷窃,有n件商品: 第i件物品值Vi元,重wi榜(vi, wi都是整数),他的背包最多只能装下W榜物品, 每件商品他可以选择一部分带走,而不是像0-1背包问题。问他最...

分治算法之找出2n个数的中位数

1、 设X[0:n-1]和Y[0:n-1]为两个数组,每个数组中含有n个已经排好序的数。试设计一个O(logn)时间的分治算法,找出X和Y的2n个数的中位数,并证明算法的时间复杂性为O(logn) ...

STL源码解析 - nth_element

 nth_element 模板函数具有两个版本 templatevoid nth_element(_RanIt _First, _RanIt _Nth, _RanIt _Last);templatev...

STL 源码分析《2》----nth_element() 使用与源码分析

Select 问题: 在一个无序的数组中 找到第 n 大的元素。 本文介绍 STL 算法库中 nth_elemnt 的实现代码。 一、使用说明 void  nth_element (Random...

STL源码解析 - nth_element

以下内容转自:http://blog.csdn.net/lifesider/article/details/6580240 nth_element 模板函数具有两个版本 ...
  • zinnc
  • zinnc
  • 2016年05月19日 01:02
  • 208
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NYOJ 124 中位数(水题,nth_element()使用练习)
举报原因:
原因补充:

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