当前位置: 首页 > news >正文

记录每日LeetCode 2335.装满被子需要的最短总时长 Java实现

题目描述:

现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 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; }
}

http://www.lryc.cn/news/2471.html

相关文章:

  • 了解线程池newFixedTheadPool
  • IP分片和TCP分段解析--之IP分片
  • 物联网方向常见通信方式有哪些?
  • windows wireshark抓到未加入组的组播消息
  • 【PTA Advanced】1156 Sexy Primes(C++)
  • 项目(今日指数)
  • 适配器模式(Adapter Pattern)
  • 网易一面:select分页要调优100倍,说说你的思路? (内含Mysql的36军规)
  • 二叉树的遍历 (2023-02-11)
  • string的深浅拷贝问题
  • C++中的万能头文件
  • Java 8 Lambda 表达式 Stream
  • 【VictoriaMetrics】VictoriaMetrics单机版部署(二进制版)
  • SCI论文阅读-使用基于图像的机器学习模型对FTIR光谱进行功能组识别
  • 双11大型互动游戏“喵果总动员” 质量保障方案总结
  • 剑指Offer专项突击版题解一
  • Django框架之模型
  • OSACN-Net:使用深度学习和Gabor心电图信号谱图进行睡眠呼吸暂停分类
  • 使用开源实时监控系统 HertzBeat 5分钟搞定 Mysql 数据库监控告警
  • 插件 sortablejs:HTML元素可拖动排序
  • libVLC 视频裁剪
  • LAMP架构介绍及配置
  • Android图形显示流程简介
  • 4.5.3 ArrayList
  • 十二、Linux文件 - fseek函数讲解
  • Python3.10新特性之match语句示例详解
  • 虎牙盈利能力得到改善,但监管风险对其收入产生负面影响
  • HBase 分布式搭建
  • 【Python】修改枚举的取值及链式调用
  • 复现篇--zi2zi