主要的思路就是空间换时间,还有利用数组的下标。
- 创建一个1001个数字的数组,在输入一个1-1000的数字时将改数组对应下标的值改为1。
- 然后再从小到大循环数组中值为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);
}
}
}
}