社区讨论
80分求debug
P1138第 k 小整数参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @misxkye5
- 此快照首次捕获于
- 2025/12/05 21:59 3 个月前
- 此快照最后确认于
- 2025/12/07 16:45 3 个月前
C
#include <stdio.h>
void q_sort(int *arr,int start,int end){
if(start >= end){
return;
}
int left = start;
int right = end;
int pivot = arr[left];
while(left < right){
while(arr[right] > pivot && left < right){
right--;
}
if(left < right){
arr[left] = arr[right];
left++;
}
while(arr[left] < pivot && left < right){
left++;
}
if(left < right){
arr[right] = arr[left];
right--;
}
}
arr[left] = pivot;
q_sort(arr,start,left-1);
q_sort(arr,left+1,end);
}
int main(){
int n,k,count = 1;
int num[10001],unique[10001];
scanf("%d%d",&n,&k);
for(int i = 1;i <= n;i++){
scanf("%d",&num[i]);
}
q_sort(num,1,n);
for(int i = 1;i <= n;i++){
if(num[i+1] != num[i]){
unique[count++] = num[i];
}
}
if(count < k){
printf("NO RESULT");
}
else{
printf("%d",unique[k]);
}
return 0;
}
找不到怎么过剩下两个测试点了,蒟蒻求助
回复
共 0 条回复,欢迎继续交流。
正在加载回复...