主要的思路就是空间换时间,还有利用数组的下标。

  1. 创建一个1001个数字的数组,在输入一个1-1000的数字时将改数组对应下标的值改为1。
  2. 然后再从小到大循环数组中值为1的下标输出,因为下标本身有序的因此就不用排序。
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int num = scanner.nextInt();
            int[] arr = new int[1001];
            for (int i = 0; i < num; i++) {
                int n = scanner.nextInt();
                arr[n] = 1;
            }
            for (int i = 1; i < arr.length; i++) {
                if (arr[i] == 1) {
                    System.out.println(i);
                }
            }
        }
    }