题解 | 明明的随机数
明明的随机数
https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0
读取时使用PriorityQueue自动排序,输出时比较上一个值的大小即可保证只输出一次。读取时使用BufferedReader、输出时使用StringBuilder和PrintWriter可以优化IO性能。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.PriorityQueue;
public class Main {
static final int MAX = 1000;
static PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(MAX);
public static void main(String[] args) {
try (BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(System.out)) {
int n = Integer.parseInt(in.readLine());
for (int i = 0; i < n; i++) {
priorityQueue.add(Integer.parseInt(in.readLine()));
}
StringBuilder result = new StringBuilder();
int lastValue = -1;
while (!priorityQueue.isEmpty()) {
int value = priorityQueue.poll();
if (value > lastValue) {
result.append(value).append("\n");
}
lastValue = value;
}
out.print(result.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
