题目描述
blablabla
样例
#include<iostream>
using namespace std;
int array[100000];
int n;
int k;
int quick_sort(int arr[], int left, int right) {
if(left >= right) return arr[left];
int pivot = arr[left + (right - left)/2];
int i = left - 1, j = right + 1;
while(i < j) {
do i++; while(arr[i] < pivot);
do j--; while(arr[j] > pivot);
if(i < j) {
swap(arr[i], arr[j]);
}
}
if(j + 1 >= k) return quick_sort(arr, left, j); //左边多少个
else return quick_sort(arr, j + 1, right); //右边多少个
}
int main() {
scanf("%d %d", &n, &k);
int i = 0;
while(i < n) {
scanf("%d", &array[i]);
++i;
}
cout << quick_sort(array, 0, n-1) << endl;
//printf("%d\n", array[k-1]);
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla