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();
    }
}
相关推荐
月明长歌4 分钟前
【码道初阶】一道经典的简单题:Boyer-Moore 多数投票算法|多数元素问题(LeetCode 169)
算法·leetcode·职场和发展
CoderYanger10 分钟前
动态规划算法-路径问题:7.礼物的最大价值
开发语言·算法·leetcode·动态规划·1024程序员节
古城小栈10 分钟前
Python 3.14:重塑开发体验的五大技术突破与实践指南
开发语言·python
蕓晨11 分钟前
钱币找零问题-贪心算法解析
c++·算法·贪心算法
没有bug.的程序员11 分钟前
GC日志解析:从日志看全流程
java·网络·jvm·spring·日志·gc
WZTTMoon12 分钟前
开发中反复查的 Spring Boot 注解,一次性整理到位
java·spring boot·后端
葡萄城技术团队14 分钟前
Excel 文件到底是怎么坏掉的?深入 OOXML 底层原理讲解修复策略
android·java·excel
hetao173383716 分钟前
2025-12-04 hetao1733837的刷题记录
c++·算法
小糖学代码18 分钟前
LLM系列:1.python入门:1.初识python
服务器·开发语言·人工智能·python·ai
照物华20 分钟前
MySQL 软删除 (Soft Delete) 与唯一索引 (Unique Constraint) 的冲突与解决
java·mysql