OpenJudge | 寻找中位数

总时间限制: 1000ms 内存限制: 65536kB

描述

在N(1<=N<10,000且N为奇数)个数中,找到中位数。

输入

第1行:N

第2至N+1行:每行是一个整数

输出

第一行:中位数

样例输入

cpp 复制代码
5
2
4
1
3
5

样例输出

cpp 复制代码
3

分析

  1. 由题目的样例输出可以知道,3不在输入序列2 4 1 3 5的中间,但是它是中位数,这或许会涉及到排序。
  2. 然后通过下标直接找到中位数。

Code

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;

int main() {
	int N, num;
	vector<int> v;
	cin >> N;
	for(int i = 1; i <= N; i++) {
		cin >> num;
		v.insert(v.end(), num);
	}
	sort(v.begin(), v.end());
	cout << v[(0+N)/2];
}
相关推荐
趁月色小酌***2 分钟前
JAVA 知识点总结2
java·开发语言
蒲小英4 分钟前
算法-使用技巧
算法
m5655bj7 分钟前
C# 在 PDF 文档中添加电子签名
开发语言·pdf·c#
0x7F7F7F7F7 分钟前
数学知识——博弈论
数学·算法
LinHenrY122712 分钟前
初识C语言(预处理详解)
c语言·开发语言
Larry_Yanan12 分钟前
Qt多进程(四)QTcpSocket
开发语言·c++·qt·ui
hqwest20 分钟前
码上通QT实战02--登录设计
开发语言·qt·登录·ui设计·qt控件·qt布局·qt登录
爱学习的小仙女!26 分钟前
顺序表定义、特点和基本操作(含C代码详细讲解)及时间复杂度
数据结构·算法
superman超哥31 分钟前
仓颉Actor模型的实现机制深度解析
开发语言·后端·python·c#·仓颉
superman超哥33 分钟前
仓颉内存管理深度探索:引用计数的实现原理与实战
c语言·开发语言·c++·python·仓颉