题解 | #明明的随机数#

明明的随机数

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int N = in.nextInt();
        int[] arr = new int[N];
        int[] arr2 = new int[N];
        int length = 0;

        for (int i = 0;in.hasNextInt();) { 
            int a = in.nextInt();
            arr[i++] = a;
        }
        for(int i = 0; i < N; i++){
            //存在,跳过
            if(getIndex(arr2, length, arr[i]) != -1){
                continue;
            }
            //不存在,arr[i]存储
            arr2[length++] = arr[i];
        }
        int end = length;
        //排序从小到大
        for(int i = 0; i < length; i++){
            int minIndex = getMin(arr2, end);
            System.out.println(arr2[minIndex]);
            //将最小值与数组最后交换位置
            int temp = arr2[minIndex];
            arr2[minIndex] = arr2[end - 1];
            end --;
        }
        

    }
    //得到数组一定范围内最小值的索引
    public static int getMin(int[] arr, int end){
        int index = 0;
         for(int i = 1; i < end; i++){
            if(arr[index] > arr[i]){
                index = i;
            }
        }
        return index;
    }
    //判断返回整数在数组中索引,不存在返回-1
    public static int getIndex(int[] arr, int end, int a) {
        for(int i = 0; i < end; i++){
            if(a == arr[i]){
                return i;
            }
        }
        return -1;
    }
}

全部评论

相关推荐

09-01 09:00
已编辑
四川旅游学院 运营
牛客55195891...:主要是专业不好,别的没毛病
牛客解忧铺
点赞 评论 收藏
分享
09-29 15:34
已编辑
北京航空航天大学 C++
做个有文化的流氓:结果是好的,过程不重要,而且你的offer太多了
软开人,秋招你打算投哪些...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务