题解 | #明明的随机数#
明明的随机数
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;
}
}

查看7道真题和解析