题解 | #小欧的数组修改#
小欧的数组修改
https://www.nowcoder.com/practice/9d57195bcec9415e9d12db846545ee0f
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
int[] b = new int[100010];
int max = 0;
for (int i = 0; i < n; i ++) {
a[i] = sc.nextInt();
b[a[i]] ++;
}
if (n == 1) {
System.out.println(1);
return;
}
if (n == 2) {
System.out.println(2);
return;
}
for (int num : b) {
max = Math.max(max, num); //计算出现次数最多的那个数的次数
}
if (max < n) System.out.println(max +1); // 只有当max小于n时max才会+1,否则输出的值会大于总个数n
else System.out.println(max); // 如果输入的几个数全都相同时max此时已经和n相等了,此时max不应该+1
sc.close();
}
}
腾讯成长空间 5881人发布
查看14道真题和解析
