网站建设评分细则,东昌网站建设,网站开发工具安全性能,国外文件传输网站题目描述#xff1a;
现有一台饮水机#xff0c;可以制备冷水、温水和热水。每秒钟#xff0c;可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。
给你一个下标从 0 开始、长度为 3 的整数数组 amount #xff0c;其中 amount[0]、amount[1] 和 amount[2] 分别表示需要…题目描述
现有一台饮水机可以制备冷水、温水和热水。每秒钟可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。
给你一个下标从 0 开始、长度为 3 的整数数组 amount 其中 amount[0]、amount[1] 和 amount[2] 分别表示需要装满冷水、温水和热水的杯子数量。返回装满所有杯子所需的 最少 秒数。
初始代码
class Solution {public int fillCups(int[] amount) {}
}
示例1 输入amount [1,4,2] 输出4 解释下面给出一种方案 第 1 秒装满一杯冷水和一杯温水。 第 2 秒装满一杯温水和一杯热水。 第 3 秒装满一杯温水和一杯热水。 第 4 秒装满一杯温水。 可以证明最少需要 4 秒才能装满所有杯子。 示例2 输入amount [5,4,4] 输出7 解释下面给出一种方案 第 1 秒装满一杯冷水和一杯热水。 第 2 秒装满一杯冷水和一杯温水。 第 3 秒装满一杯冷水和一杯温水。 第 4 秒装满一杯温水和一杯热水。 第 5 秒装满一杯冷水和一杯热水。 第 6 秒装满一杯冷水和一杯温水。 第 7 秒装满一杯热水。 示例3 输入amount [5,0,0]
输出5
解释每秒装满一杯冷水。 参考答案
class Solution {public int fillCups(int[] amount) {int count 0;while(true){Arrays.sort(amount);if(amount[2] 0){break;}else if(amount[1] 0 amount[2] ! 0){count count amount[2];amount[2] 0;}else{count;--amount[1];--amount[2];}}return count; }
}