题目描述
小度和同事们一起去春游,天气炎热,小度自告奋勇去给大家买果汁。
员工一共有n名(包括小度),果汁一共有k种,第i位员工每个人都有自己最喜欢的一种果汁a_i。
小度到达果汁商店的时候,被告知商店正在举行促销活动,全场果汁买一送一(购买一瓶i型果汁,再赠送一瓶i型果汁)。
小度想让所有人(包括小度)都拿到他们最喜欢的果汁,需要购买多少瓶呢?
输入描述
第一行两个整数n,k分别表示员工人数和果汁种类数。
第二行n个整数,表示i号员工最喜欢的果汁种类是a_i。
输出描述
一个整数,表示小度需要购买的瓶数(赠品不算购买的)。
示例1
输入
5 3
1 2 3 1 2
输出
3
示例2
输入
6 2
1 2 1 2 1 2
输出
4
思路分析:
1、首先统计每种果汁有多少人喜欢喝
2、将第i种果汁喜欢喝的人数/2并向上取整,得到第i种果汁应该买多少瓶
3、将统计到的每种果汁应该买多少瓶的数目相加,得到最后结果。
java 代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
int[] mm = new int[m];
int[] nn = new int[n];
for (int i = 0; i < m; i++) {
mm[i] = sc.nextInt();//存储第i人喜欢喝的果汁的种类
nn[mm[i]-1]++;//将第i人喜欢喝的果汁的数目+1
}
int sum = 0;
for (int i = 0; i < n; i++) {
if(nn[i]>0)
sum+=((nn[i]+1)/2);//将统计到的每种果汁喜欢喝的人数/2并向上取整,得到每种果汁应该买多少瓶并求和
}
System.out.println(sum);
}
}
分类:
算法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2019-03-15 拼多多 2018 校招编程题 六一儿童节