请问为什么后三个测试点全TLE
查看原帖
请问为什么后三个测试点全TLE
859797
chunri楼主2024/3/23 12:34
#include<stdio.h>
int quick(int *a,int first,int end){
	int i=first;
	int j=end;
	int key=a[i];
	while(i<j){
		while(i<j&&a[j]>=key){
			j--;
		}
		while(i<j&&a[i]<=key){
			i++;
		} 
		 if (j > i)
        {
            int t = a[i];
            a[i] = a[j];
            a[j] = t;
        }
	} 
	a[first]=a[i];
	a[i]=key;
	if(i-1>first)
	quick(a,first,i-1);
	if(i+1<end)
	quick(a,i+1,end);
	return 0;
}

int main(){
	int n;
	int a[100];
	scanf("%d",&n);
	int i=0;
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	quick(a,0,n-1);
	for(i=0;i<n;i++){
		printf("%d ",a[i]);
	}
	return 0;
	
}
2024/3/23 12:34
加载中...