题目:

解题思路:
对于每个id
- 如果少于2个,则需要其他人调整至与他相同;
- 如果多余2个,则多余2个的部分需要调整,与少于2个的相同。
java
import java.util.Scanner;
import java.util.Arrays;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int one = 0, two = 0;
int num = scan.nextInt();
int[] arr = new int[num];
Arrays.fill(arr, 0);
for (int i = 0; i < num; i++) {
int id = scan.nextInt();
arr[id - 1]++;
}
for (int i = 0; i < num; i++) {
if(arr[i] > 2) two += arr[i] - 2;
else if(arr[i] == 1) one++;
}
if(two >= one) {
System.out.print(two);
}
else {
System.out.print(two + (one - two)/2);
}
scan.close();
}
}