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

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

为了解决这个问题,我们需要计算小度需要购买多少瓶果汁才能满足所有人,包括他自己,都能喝到他们最喜欢的果汁。促销活动是买一送一,因此我们需要合理计算每种果汁的购买数量。

方法思路

  • 统计每种果汁的喜欢人数:我们需要知道每种果汁有多少人喜欢。
  • 计算每种果汁的购买数量:由于促销活动是买一送一,我们需要购买的数量是喜欢人数的一半向上取整。
  • 累加所有果汁的购买数量:将每种果汁的购买数量相加,得到总购买瓶数。
  • 解决代码

    import java.util.Scanner;
    public class Main {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int k = sc.nextInt();
    int[] counts = new int[k];
    for (int i = 0; i < n; i++) {
    int a = sc.nextInt();
    counts[a - 1]++;
    }
    int sum = 0;
    for (int i = 0; i < k; i++) {
    sum += (counts[i] + 1) / 2;
    }
    System.out.println(sum);
    }
    }

    代码解释

  • 读取输入:使用 Scanner 读取输入数据,首先读取员工人数 n 和果汁种类数 k,然后读取每个员工喜欢的果汁种类。
  • 统计果汁种类:使用一个数组 counts 来统计每种果汁的喜欢人数。
  • 计算购买数量:遍历 counts 数组,对于每种果汁,计算需要购买的数量,即 (喜欢人数 + 1) / 2,并将结果累加到 sum 中。
  • 输出结果:打印总购买瓶数 sum
  • 这种方法确保了我们能够高效地计算出小度需要购买的果汁瓶数,满足所有人包括他自己的需求。

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

    你可能感兴趣的文章
    Nodejs process.nextTick() 使用详解
    查看>>
    NodeJS yarn 或 npm如何切换淘宝或国外镜像源
    查看>>
    nodejs 中间件理解
    查看>>
    nodejs 创建HTTP服务器详解
    查看>>
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 开发websocket 笔记
    查看>>
    nodejs 的 Buffer 详解
    查看>>
    NodeJS 的环境变量: 开发环境vs生产环境
    查看>>
    nodejs 读取xlsx文件内容
    查看>>
    nodejs 运行CMD命令
    查看>>
    Nodejs+Express+Mysql实现简单用户管理增删改查
    查看>>
    nodejs+nginx获取真实ip
    查看>>
    nodejs-mime类型
    查看>>
    NodeJs——(11)控制权转移next
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    nodejs下的express安装
    查看>>
    nodejs与javascript中的aes加密
    查看>>
    nodejs中Express 路由统一设置缓存的小技巧
    查看>>