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];
}
相关推荐
Tina学编程2 小时前
[HOT100]每日一练------最长连续序列
算法·hot 100
暖焰核心2 小时前
C++内存管理和模板初阶
开发语言·c++
csdn_aspnet2 小时前
PHP 算法 LeetCode 编号 70 - 爬楼梯
算法·leetcode·php
feeday2 小时前
gpt4o 图像反推提示词
开发语言·人工智能·python
Irissgwe2 小时前
c++智能指针
开发语言·c++
西梅汁3 小时前
C++ 线程间通信(一)
c++
沈浩(种子思维作者)3 小时前
没有错误,正确将一文不值
人工智能·python·算法·量子计算
x_xbx3 小时前
LeetCode:5. 最长回文子串
算法·leetcode·职场和发展
快手技术3 小时前
免费报名|生成式推荐技术如何实现体系化演进?快手技术沙龙第四期开启!
算法
初夏睡觉3 小时前
数字截断求和 题解
算法