题解 | #明明的随机数#

明明的随机数

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的下标。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务