当前位置:首页 > Java技术 > Java实现 蓝桥杯VIP 算法训练 明明的随机数

Java实现 蓝桥杯VIP 算法训练 明明的随机数

2022年08月06日 09:29:00Java技术6

问题描述
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
输入格式
输入有2行,第1行为1个正整数,表示所生成的随机数的个数:
N
第2行有N个用空格隔开的正整数,为所产生的随机数。
输出格式
输出也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。
样例输入
10
20 40 32 67 40 20 89 300 400 15
样例输出
8
15 20 32 40 67 89 300 400
题目来源
计13李震摘编自NOIP06PJ01

import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;


public class 明明的随机数 {
	//两种方法,第二种相对来说比较简单,用了Java的封装方法
	public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
//        int[] num = new int[1001];
//        int cnt = 0;
//        for (int i = 0; i < n; i++) {
//            int x = in.nextInt();
//            if (num[x] == 0) {
//                cnt++;
//                num[x] = 1;
//            }
//        }
//        in.close();
//        
//        System.out.println(cnt);
//        for (int i = 1; i <= 1000; i++) {
//            if (num[i] == 1) {
//                System.out.print(i + " ");
//            }
//        }
        //Set集合自动排除重复的元素
        //TreeSet自动从小到大排序
        Set<Integer> set = new TreeSet<Integer>();
        for (int i = 0; i < n; i++) {
			set.add(in.nextInt());
		}
        System.out.println(set.size());
        for (int a:set) {
			System.out.print(a+" ");
		}
    }


}

作者:南墙1
来源链接:https://www.cnblogs.com/a1439775520/p/13078687.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/18273.html

标签: Java随机数
分享给朋友:

“Java实现 蓝桥杯VIP 算法训练 明明的随机数” 的相关文章

java生成随机数

/** * 生成20位的随机数,用系统当前时间的毫秒数(13)+七位随机数 * @return */ public String generateStr() { StringBuffer v...

Java随机数Random

记录一个比较操蛋的问题 1、随机数是由随机种子根据一定的计算方法计算出来的结果。只要计算方法一定,随机种子一定,那么计算出来的结果就相同。 2、如果你每次调用srand()时都提供相同的种子值,那么,你将会得到相同的随机数序列 3、Rand...

java产生随机数的方法

一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。 二.在java.util这个包里面提供了一个...

Java 中随机数获取的方案

Java 中随机数获取的方案

一、方法 1、(数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例:(int)(1+Math.random()*(10-1+1)) 从1到10的int型随数 package com; public class test2 {...

Java获取随机数

方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math.random()*(10-1+1)) 从1到1...

java中自定义随机数据

要生成自定义随机数1或-1,您需要使用nextBoolean()。首先,循环并在每次迭代中创建一个Random对象-for (int i = 0; i  Random rand =&...

Java 随机数

Java 随机数

Java 随机数   本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示。 广义上讲,Java中的随机数的有三种产生方式: (01). 通过System.currentTimeMillis(...

Java产生两位随机数

Random random = new Random(); int ends = random.nexIn(99); String.format("%02d",ends);//如果不足两位,前面补0 作者:m0_67400972...

Java 高斯分布随机数

Java 高斯分布随机数

Java 高斯分布随机数 觉得有用的话,欢迎一起讨论相互学习~ 用Random类中的nextGaussian()方法,可以产生标准正态分布的随机数,其中均值为0,方差为1. 而对于 N ( a , σ 2...

java生成永远不重复的随机数

java生成不重复随机数的方法 发布时间:2020-07-01 11:00:00 来源:亿速云 阅读:225 作者:Leah java怎么实现生成不重复随机数 ?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。