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];
}
相关推荐
cany10004 分钟前
C++ -- lambda捕获
c++
希望永不加班4 分钟前
SpringBoot 消息幂等性设计:防重复消费
java·开发语言·spring boot·后端·spring
l1t4 分钟前
DeepSeek总结的使用实体-组件-系统和基于存在性处理进行Python编程7-8
开发语言·python
我是一颗柠檬5 分钟前
【JDK8新特性】CompletableFuture异步编程Day10
java·开发语言·后端·intellij-idea
czt_java17 分钟前
线程的几种状态
java·开发语言
y = xⁿ22 分钟前
JUC八股:线程池及ThreadLocal
java·开发语言
01_ice26 分钟前
Java多态
java·开发语言
Kilicc_36 分钟前
C++知识点—03 <C++宏代码生成/宏反射写法>
c++
wuweijianlove38 分钟前
算法中的记忆化思想与重复子问题优化的技术5
算法
AI人工智能+电脑小能手43 分钟前
【大白话说Java面试题 第78题】【Mysql篇】第8题:解释下最左前缀原则?
java·开发语言·数据库·mysql·面试