由于这题的PTA没有测试点,我也不知道错哪里了,希望由大佬能指正(我感觉答案没问题,但是提交显示的是答案错误,而不是时间超时)
下边附上源码
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i,j,judge;
scanf("%d",&n);
int a[n];
int *p=a;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
void quickSort(int *arr,int begin,int end);
quickSort(p,0,n-1);
for(i=0;i<n-1;i++)
{
j=i+1;
if(a[i]==a[j])
{
judge=1;
break;
}
else judge=0;
}
if(judge==0)
printf("No");
else printf("Yes");
system("pause ");
return 0;
}
void quickSort(int *arr,int begin,int end)
{
if(begin < end)
{
int temp = arr[begin];
int i = begin;
int j = end;
while(i < j)
{
while(i<j && arr[j] > temp)
j--;
arr[i] = arr[j];
while(i<j && arr[i] <= temp)
i++;
arr[j] = arr[i];
}
arr[i] = temp;
quickSort(arr,begin,i-1);
quickSort(arr,i+1,end);
}
}
(不是system("pause ")的原因。)