这个代码感觉根书上思路是差不多的,但为啥还是超时了捏?
查看原帖
这个代码感觉根书上思路是差不多的,但为啥还是超时了捏?
1030865
letusgo楼主2023/11/15 21:50
#include<bits/stdc++.h>
using namespace std;
int a[5000005],n,k;
void quick_sort(int l, int r){
	int mid = a[(l+r)/2], i = l, j = r;
	while(i <= j){ //i < j时结束循环 
		while(a[i] < mid) i++;
		while(a[j] > mid) j--;
		swap(a[i],a[j]);
		i++,j--;
	}
	if(k <= j)quick_sort(l,j);
	if(k >= i)quick_sort(i,r);
	if(k < i && k > j){
		cout << a[i-1];
		exit(0);
	}
}
int main(){
	cin >> n >> k;
	k += 1;
	for(int i = 1; i <= n; i++) cin >> a[i];
	quick_sort(1,n);
	//for(int i = 1; i <= n; i++) cout << a[i];
	return 0;
}
2023/11/15 21:50
加载中...