题解 | #明明的随机数#
明明的随机数
https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int size = sc.nextInt(); int[] result = new int[501]; for(int i=0;i<size;i++){ int num = sc.nextInt(); result[num] = 1; } for(int i=1;i<=500;i++){ if(result[i] == 1){ System.out.println(i); } } } }
看了一下题解,没有比我的更简洁的(不需要排序,不需要去重)。
数据范围: 1≤n≤1000 ,输入的数字大小满足 1≤val≤500
所以把结果放到一个大小是500+1的数组即可。数组下标对应输入的数字,对应的值为1代表出现过(int数组可以优化为boolean数组)。然后按顺序遍历数组,打印值为1的下标。