题目描述
blablabla
样例
#include<iostream>
using namespace std;
const int N = 1e5 +10;
int arr[N];
int n,k;
int quick_sort(int l,int r,int k){
if(l >= r) return arr[l];
int i = l - 1;
int j = r + 1;
int x = arr[l + r >> 1];
while(i < j){
while(arr[++i] < x);
while(arr[--j] > x);
if(i < j) swap(arr[i],arr[j]);
}
int sl = j - l + 1;//这里出错了
if(k <= sl) return quick_sort(l,j,k);
else return quick_sort(j + 1,r,k - sl);
}
int main(){
scanf("%d%d",&n,&k);
for(int i = 0;i < n;i++)
scanf("%d",&arr[i]);
printf("%d",quick_sort(0,n - 1,k));
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度分析:blablabla
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度分析:blablabla
C++ 代码
blablabla