import java.util.Scanner;
public class Main {
//洛谷刷题专用
public static void main(String[] args) {
// 巧妙利用人与票之间的关系
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int a[] = new int[num + 1];// 票的种类
// 记票
int counter = scanner.nextInt();
for (int i = 0; i < counter; i++) {
a[scanner.nextInt()]++;
}
// 出票
StringBuffer stringBuffer = new StringBuffer();
for (int i = 1; i < a.length; i++) {
while (a[i] != 0) {
stringBuffer.append(i + " ");
a[i]--;
}
}
System.out.println(stringBuffer);
}
}
已通过5AC,,
而这题不使用这个方法的话,使用快速排序的话会2TLE😢
题目:
学校正在选举学生会成员,有 n(n≤999) 名候选人,每名候选人编号分别从 1 到 n,现在收集到了m(m<=2000000) 张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。