SDUT ACM 第k小的數(基於C語言)

2021-08-19 21:53:24 字數 764 閱讀 5199

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

axuhongbo

#include #include int a[100001];

void st(int a,int l,int r)

a[i]=key;

st(a,l,i-1);

st(a,i+1,r);

}}int main()

}return 0;

}

第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 10000000 的無序序列 保證序列內元素各不相同 輸入乙個整數k 1 k n 請用較快的方式找出該序列的第k...