题解 | 明明的随机数

明明的随机数

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();
        }
    }
}    

全部评论

相关推荐

昨天 12:24
重庆大学 运营
坏消息:和好工作擦肩而过
给点吧求求了:怎么可能因为差几秒,估计就是简历更好看婉拒了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务