题解 | #明明的随机数#

明明的随机数

http://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0

package huawei_computertest;

import java.util.Scanner;

/*
描述
明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。

数据范围: 1≤n≤1000  ,输入的数字大小满足 1≤val≤500

输入描述:
第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。 具体格式可以参考下面的"示例"。

输出描述:
输出多行,表示输入数据处理后的结果
 */
public class HJ3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();// 输入随机整数的个数 N
        int[] ints = new int[num]; // 定义数组存储明明生成的随机数
        for (int i = 0; i < num; i++) {
            int numVal = scanner.nextInt();
            ints[i] = numVal;// 生成随机数并存入数组
        }
        int index = -100;// 标记
        // 对数组元素去重
        for (int i = 0; i < ints.length; i++) {
            for (int j = i + 1; j < ints.length; j++) {// 前面的比较过了,只比后面的
                if (ints[i] == ints[j]) {// 把相同的做个标记,把后面的那个置于标记
                    ints[j] = index;
                }
            }
        }
        // 只要有相同元素,都已经置于index
        int count = 0;
        for (int i = 0; i < ints.length; i++) {// 遍历数组,把index的个数计算出
            if (ints[i] == index) {
                count++;
            }
        }
        // 定义新数组(根据count长度)
        int[] ints1 = new int[num - count];
        for (int i = 0, j = 0; i < ints.length; i++) {// 把不是index 的存储进新数组
            if (ints[i] != index) {
                ints1[j] = ints[i];
                j++;
            }
        }
        // 从小到大排序
        int temp;
        for (int i = 0; i < ints1.length; i++) {
            for (int j = i + 1; j < ints1.length; j++) {
                if (ints1[i] > ints1[j]) {
                    temp = ints1[i];
                    ints1[i] = ints1[j];
                    ints1[j] = temp;
                }
            }
        }
        // 遍历新数组输出。
        for (int i = 0; i < ints1.length; i++) {
            System.out.println(ints1[i]);
        }
    }
}

全部评论

相关推荐

千疮百孔的象牙塔:我也在捣鼓im,你这个im好奇怪的样子,单看简历get不到点,im的消息及时性,消息可靠性,然后系统的可扩展性这几个关键问题都是怎么解决的从简历描述get不到,具体说消息怎么传,消息怎么推送,消息怎么存,消息安全怎么做的这些点感觉对应不起来
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务