uva10057
2015-12-26 21:09
113 查看
题目大意:
求中位数
思路:
如果是奇数个 ,中位数只有一个,找到与中位数相等的都可以,
如果是偶数个,中位数有两个,找到与这两个相等的都可以。
代码:
求中位数
思路:
如果是奇数个 ,中位数只有一个,找到与中位数相等的都可以,
如果是偶数个,中位数有两个,找到与这两个相等的都可以。
代码:
#include <iostream> using namespace std; #include <stdio.h> #include <cstring> #include <algorithm> const int MAXN = 1000000; int n,num[MAXN],n1,n2; int main() { while(scanf("%d",&n)!=EOF) { for(int i = 0 ; i < n ;i++) scanf("%d",&num[i]); int k = (n - 1)/2 ; int n1 = 0 , n2 = 1; sort(num,num+n); if(n%2) { // 奇数个 for(int i = k; i >=0 && num[k] == num[i]; i--) n1 ++; for(int i = k +1 ; i < n && num[k] == num[i]; i++) n1 ++ ; } else { for(int i = k ; i >= 0 && num[k] == num[i]; i--) { n1 ++; } for(int i = k+1; i < n && num[k+1] == num[i] ; i++ ) n1 ++; n2 = num[k+1] - num[k] + 1; } printf("%d %d %d\n",num[k],n1,n2); } return 0; }
相关文章推荐
- 数据结构实验之查找三:树的种类统计
- servlet中属性和参数区别
- 图---Prim
- Linux常用命令大全
- 图---Prim
- 求最长不重复子串
- 后台框架杂记
- 电文二进制输出格式
- 变量十进制输出、无符号整数、浮点、指数、ASICC码表、字符运算
- uva10341
- 用户 'IIS APPPOOL\***' 登录失败
- Linux学习笔记1:配置Linux网络和克隆虚拟机并更改配置
- Linux学习笔记1:配置Linux网络和克隆虚拟机并更改配置
- bzoj 3876 [Ahoi2014]支线剧情(有上下界的最小费用流)
- SDUT 数据结构实验之排序七:选课名单
- 自定义TopBar
- 图---互斥集
- Add Digits
- 图---互斥集
- java之--内部类总结