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();
    }
}
相关推荐
火丁不是灯5 分钟前
《 C Primer Plus》
c语言·开发语言
dlraba8023 小时前
机器学习-----K-means算法介绍
算法·机器学习·kmeans
WSSWWWSSW4 小时前
Numpy科学计算与数据分析:Numpy文件操作入门之数组数据的读取和保存
开发语言·python·数据挖掘·数据分析·numpy
Lisonseekpan4 小时前
MVCC的底层实现原理是什么?
java·数据库·后端·mysql
芥子须弥Office4 小时前
从C++0基础到C++入门 (第二十五节:指针【所占内存空间】)
c语言·开发语言·c++·笔记
啊阿狸不会拉杆4 小时前
《算法导论》第 14 章 - 数据结构的扩张
数据结构·c++·算法·排序算法
灰原喜欢柯南5 小时前
实战:MyBatis 中 db.properties 的正确配置与最佳实践
java·数据库·mybatis
中东大鹅5 小时前
SpringBoot实现文件上传
java·spring boot·后端
牛马程序员‍5 小时前
Day116 若依融合mqtt
java·mqtt·若依·mqttx
Q741_1475 小时前
如何判断一个数是 2 的幂 / 3 的幂 / 4 的幂 / n 的幂 位运算 总结和思考 每日一题 C++的题解与思路
开发语言·c++·算法·leetcode·位运算·总结思考