17153.班级活动(java)

题目:

解题思路:

对于每个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();
    }
}
相关推荐
无敌昊哥战神2 分钟前
【算法与数据结构】深入浅出回溯算法:理论基础与核心模板(C/C++与Python三语解析)
c语言·数据结构·c++·笔记·python·算法
Bat U3 分钟前
JavaEE|计算机是如何工作的
java·人工智能
~plus~3 分钟前
C#/.NET 8 Span与Memory高性能编程完全指南
开发语言·c#·.net
zore_c3 分钟前
【C++】基础语法(命名空间、引用、缺省以及输入输出)
c语言·开发语言·数据结构·c++·经验分享·笔记
輕華5 分钟前
OpenCV三大传统人脸识别算法:EigenFace、FisherFace与LBPH实战
人工智能·opencv·算法
Master_清欢5 分钟前
解决dify插件无限循环的问题
开发语言
许彰午6 分钟前
# 政务表单动态建表?运行时DDL引擎,前端拖完字段后端直接建
java·前端·后端·架构·政务
akarinnnn6 分钟前
【DAY16】字符函数和字符串函数
c语言·数据结构·算法
我登哥MVP7 分钟前
【Spring6笔记】 - 13 - 面向切面编程(AOP)
java·开发语言·spring boot·笔记·spring·aop
宸津-代码粉碎机8 分钟前
Spring Boot 4.0 进阶实战+源码解析系列(持续更新)—— 从落地到源码,搞定面试与工作
java·人工智能·spring boot·后端·python·面试