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();
    }
}
相关推荐
Jerry Lau5 分钟前
go go go 出发咯 - go web开发入门系列(一) helloworld
开发语言·前端·golang
nananaij8 分钟前
【Python基础入门 re模块实现正则表达式操作】
开发语言·python·正则表达式
Micro麦可乐15 分钟前
Java常用加密算法详解与实战代码 - 附可直接运行的测试示例
java·开发语言·加密算法·aes加解密·rsa加解密·hash算法
掉鱼的猫19 分钟前
Java MCP 鉴权设计与实现指南
java·openai·mcp
天下一般20 分钟前
go入门 - day1 - 环境搭建
开发语言·后端·golang
前端拿破轮29 分钟前
🤡🤡🤡面试官:就你这还每天刷leetcode?连四数相加和四数之和都分不清!
算法·leetcode·面试
雷羿 LexChien29 分钟前
C++内存泄漏排查
开发语言·c++
努力的小郑33 分钟前
Spring三级缓存硬核解密:二级缓存行不行?一级缓存差在哪?
java·spring·面试
水果里面有苹果37 分钟前
17-C#的socket通信TCP-1
开发语言·tcp/ip·c#
手握风云-38 分钟前
JavaEE初阶第七期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(五)
java·开发语言