CPP_Basics_Algorithm/第一讲 基础算法/README.md

75 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

> # 包括排序、二分、高精度、前缀和与差分、双指针算法、位运算、离散化、区间合并等内容。
## 785. 快速排序
给定你一个长度为 *n* 的整数数列。
请你使用快速排序对这个数列按照从小到大进行排序。
并将排好序的数列按顺序输出。
##### 输入格式
输入共两行,第一行包含整数 *n*
第二行包含 *n* 个整数(所有整数均在 1$10^9$ 范围内),表示整个数列。
##### 输出格式
输出共一行,包含 *n* 个整数,表示排好序的数列。
##### 数据范围
1≤*n*≤100000
##### 输入样例:
```
5
3 1 2 4 5
```
##### 输出样例:
```
1 2 3 4 5
```
## 786. 第k个数
给定一个长度为 *n* 的整数数列,以及一个整数 *k*,请用快速选择算法求出数列从小到大排序后的第 *k* 个数。
#### 输入格式
第一行包含两个整数 *n**k*
第二行包含 *n* 个整数(所有整数均在 1$10^9 $范围内),表示整数数列。
#### 输出格式
输出一个整数,表示数列的第 *k* 小数。
#### 数据范围
1≤*n*≤100000,
1≤*k*≤*n*
#### 输入样例:
```
5 3
2 4 1 5 3
```
#### 输出样例:
```
3
```