博客
关于我
百度2020春招 笔试算法题第一题 需要买多少瓶果汁
阅读量:435 次
发布时间:2019-03-06

本文共 1012 字,大约阅读时间需要 3 分钟。

 

题目描述

小度和同事们一起去春游,天气炎热,小度自告奋勇去给大家买果汁。

员工一共有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);    }}

 

转载地址:http://hccyz.baihongyu.com/

你可能感兴趣的文章
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002---大数据之Nifi工作笔记0069
查看>>
NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
查看>>
NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
查看>>
NIH发布包含10600张CT图像数据库 为AI算法测试铺路
查看>>
Nim教程【十二】
查看>>
Nim游戏
查看>>
NIO ByteBuffer实现原理
查看>>
Nio ByteBuffer组件读写指针切换原理与常用方法
查看>>
NIO Selector实现原理
查看>>
nio 中channel和buffer的基本使用
查看>>
NIO三大组件基础知识
查看>>
NIO与零拷贝和AIO
查看>>
NIO同步网络编程
查看>>
NIO基于UDP协议的网络编程
查看>>
NIO笔记---上
查看>>
NIO蔚来 面试——IP地址你了解多少?
查看>>
NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
查看>>
NISP国家信息安全水平考试,收藏这一篇就够了
查看>>
NIS服务器的配置过程
查看>>