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];
}
相关推荐
初中就开始混世的大魔王1 分钟前
2 Fast DDS Library概述
c++·中间件·信息与通信
MediaTea4 分钟前
Python:collections.Counter 常用函数及应用
开发语言·python
爱淋雨的男人6 分钟前
自动驾驶感知相关算法
人工智能·算法·自动驾驶
wen__xvn18 分钟前
模拟题刷题3
java·数据结构·算法
LawrenceLan26 分钟前
37.Flutter 零基础入门(三十七):SnackBar 与提示信息 —— 页面反馈与用户交互必学
开发语言·前端·flutter·dart
李昊哲小课27 分钟前
Python json模块完整教程
开发语言·python·json
易醒是好梦27 分钟前
Python flask demo
开发语言·python·flask
滴滴答滴答答30 分钟前
机考刷题之 6 LeetCode 169 多数元素
算法·leetcode·职场和发展