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();
    }
}
相关推荐
weixin199701080161 分钟前
[特殊字符] 1688开放平台API Sign签名算法详解(Java / Python / PHP 实现)
java·python·算法
武子康5 分钟前
Java-22 深入浅出 MyBatis - 手写ORM框架3 手写SqlSession、Executor 工作原理
java·后端
未若君雅裁13 分钟前
JVM 垃圾回收算法与分代回收机制
java·jvm·算法
智者知已应修善业18 分钟前
【51单片机初始化D5-D8亮,每按键按下D1到D4全亮,再按下恢复,如此循环】2024-3-26
c++·经验分享·笔记·算法·51单片机
skywalk816321 分钟前
记录段言的开发过程
开发语言·学习·编程
摇滚侠29 分钟前
SpringMVC 入门到实战 简介和入门案例 01-13
java·后端·spring·intellij-idea
未若君雅裁29 分钟前
JVM 垃圾回收器全景与G1深度解析
java·开发语言·jvm
霸道流氓气质30 分钟前
Java 大数据量异步处理方案:线程池 vs 消息队列
java·开发语言
devilnumber30 分钟前
想真正吃透 + 灵活运用 Java 代理模式
java·开发语言·代理模式
蝎子莱莱爱打怪30 分钟前
自用推荐|XTerminal:我心中 SSH 客户端的终极形态
java·后端·程序员