Niuke: Pregunta 2 de programación del ingeniero de I+D de Huawei
[Niu Ke] 2. Números aleatorios obvios
Obviamente, se generan N enteros aleatorios entre 1 y 500. Elimine los números repetidos, es decir, conserve solo uno de los mismos números, elimine el resto de los mismos números y luego ordene estos números de menor a mayor y envíelos en el orden en que están dispuestos.
Rango de datos: 1 ≤ n ≤1000, el tamaño del número de entrada satisface 1 ≤ val ≤ 500
Descripción de entrada:
primero ingrese el número N de números enteros aleatorios en la primera línea.
Ingrese un número entero en cada una de las siguientes N líneas, que representa un número aleatorio que se genera claramente.
Para el formato específico, consulte el "Ejemplo" a continuación.
Descripción de salida:
salida de varias líneas, que indica el resultado del procesamiento de datos de entrada
Ejemplo de entrada de ejemplo:
3
2
2
1
Salida de ejemplo:
1
2
Descripción del ejemplo:
Entrada:
el primer número es 3, es decir, N=3 de esta pequeña muestra, lo que significa que la computadora genera tres números enteros aleatorios entre 1 y 500, y luego cada línea tiene un número aleatorio, un total de 3 líneas, es decir, estos 3 números aleatorios son:
2
2
1
Así que la salida de muestra es:
1
2
respuesta
Método 1. Use una matriz para registrar los números que aparecen, el subíndice es el número y el valor en la matriz es la marca que aparece.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N, n;
while (in.hasNext()) {
N = in.nextInt();
//用于记录N个数都出现在哪,不记录次数,只要出现对应位置数组的位置就是1
int[] a = new int[1001];
while (N > 0) {
n = in.nextInt();
a[n] = 1;
N--;
}
//输出数组的位置不是0的,且按数组下标小到大输出
for (int i = 0; i < 1001; i++)
if (a[i] != 0) {
System.out.println(i);
}
}
in.close();
}
}
Método 2. Usar TreeSet TreeSet es una colección ordenada, y su función es proporcionar una colección Set ordenada. Los elementos de TreeSet admiten 2 métodos de clasificación: clasificación natural (orden ascendente) o clasificación según el comparador proporcionado.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
TreeSet<Integer> tree = new TreeSet<>();
int N = in.nextInt();
for (int i = 1; i <= N; i++) {
tree.add(in.nextInt());
}
for (Integer a : tree)
System.out.println(a);
}
}
}