第k小的數

2021-08-18 21:10:57 字數 1271 閱讀 9756

time limit: 5000 ms

memory limit: 65536 kib

submit

statistic

problem description

現有乙個包含n個整數(1<=n<=10000000)的無序序列(保證序列內元素各不相同),輸入乙個整數k(1<=k<=n),請用較快的方式找出該序列的第k小數並輸出。

input

多組輸入。

首先輸入乙個資料組數t(1<=t<=100)

接下來是t組資料。

每組資料有兩行。

第一行先輸入兩個整數,n和k。

接下來是一行輸入n個由空格分開的互不相同的整數num(1<=num<=90000000)。

output

對於每組資料,輸出該組資料中第k小的數num。

sample input

1

6 43 2 5 1 4 6

sample output

4

hint

source#include

#define n 20

int par(int a, int l, int h)

a[l] = x;

return l;

}int find(int a, int l, int r, int k)

}int main()

return 0;

}time limit: 5000 ms

memory limit: 65536 kib

submit

statistic

problem description

現有乙個包含n個整數(1<=n<=10000000)的無序序列(保證序列內元素各不相同),輸入乙個整數k(1<=k<=n),請用較快的方式找出該序列的第k小數並輸出。

input

多組輸入。

首先輸入乙個資料組數t(1<=t<=100)

接下來是t組資料。

每組資料有兩行。

第一行先輸入兩個整數,n和k。

接下來是一行輸入n個由空格分開的互不相同的整數num(1<=num<=90000000)。

output

對於每組資料,輸出該組資料中第k小的數num。

sample input

1

6 43 2 5 1 4 6

sample output

4

hint

source

第k小的數

輸入n個整數和乙個正整數k 1 k n 輸出這些整數從小到大排序後的第k個 思路1 最容易想到的方法 先對這個序列從小到大排序,然後輸出前面的最小的k個數即可。如果選擇快速排序法來進行排序,則時間複雜度 o n logn class solution 時間複雜度o nlogn 思路2 在思路1的基礎...

第k小的數

time limit 5000 ms memory limit 65536 kib problem description 現有乙個包含n個整數 1 n 10000000 的無序序列 保證序列內元素各不相同 輸入乙個整數k 1 k n 請用較快的方式找出該序列的第k小數並輸出。input 多組輸入。...

第k小的數

time limit 5000 ms memory limit 65536 kib submit statistic problem description 現有乙個包含n個整數 1 n 900000 的無序序列 保證序列內元素各不相同 輸入乙個整數k 1 k n 請用較快的方式找出該序列的第k小數...