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];
}
相关推荐
Sylvia-girl几秒前
第八站:vector及其常用操作【上】
c++
希冀1233 分钟前
【JavaScript】Javascript—JS进阶—Day03
开发语言·javascript·原型模式
gugucoding17 分钟前
28. 【C语言】通用数据操作:`void *` 与类型无关编程
c语言·开发语言
霖大侠18 分钟前
Decoupled and Reusable Adaptation for Efficient Cross-Modal Transfer
人工智能·深度学习·算法·机器学习·transformer
曹牧19 分钟前
XML 解析过程中遇到 `org.xml.sax.SAXParseException
java·开发语言
Sunsets_Red27 分钟前
浅谈博弈论
c++·学习·编程·博弈论·信息学竞赛·巴巴博弈
光影少年31 分钟前
RN 架构:JS层、原生桥接层、原生渲染层 通信原理
开发语言·javascript·架构
OOJO36 分钟前
哈希表实现
数据结构·哈希算法·散列表
ALex_zry1 小时前
C++26 std::inplace_vector 详解:零堆分配的定容向量
开发语言·c++