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

news/2024/6/18 21:21:43 标签: leetcode, 算法, 职场和发展

题目描述:

现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 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.niftyadmin.cn/n/58324.html

相关文章

JavaCollection集合

5 Collection集合 5.1 Collection集合概述 是单列集合的顶层接口,它表示一组对象,这些对象也称Collection元素JDK不提供此接口的直接实现,它提供更具体的子接口(Set 和 List)实现 package ceshi;import java.util.A…

hadoop高可用+mapreduce on yarn集群搭建

虚拟机安装 本次安装了四台虚拟机:hadoop001、hadoop002、hadoop003、hadoop004,安装过程略过 移除虚拟机自带jdk rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps关闭防火墙 systemctl stop firewalld systemctl disable firewalld.service给普…

安全渗透测试中的一款免费开源的超级关键词URL采集工具

安全渗透测试中的一款免费开源的超级关键词URL采集工具。 #################### 免责声明:工具本身并无好坏,希望大家以遵守《网络安全法》相关法律为前提来使用该工具,支持研究学习,切勿用于非法犯罪活动,对于恶意使…

API 的安全性

大家好。今天聊一个很重要但是大部分人不重视的API安全问题。api固有的范围和风险意味着它们需要一种不同的安全方法。应用程序编程接口(api)是现代应用程序的构建模块,它们的使用正在以惊人的速度增长。然而,随着使用的增加,风险也会增加。。…

家政服务小程序实战教程08-宫格导航

小程序一般会在首页显示商品的分类,这类需求我们在微搭中是使用宫格导航组件来实现。 01 组件说明 宫格导航组件可以在导航配置里设置菜单,可以手动添加,也可以变量绑定 因为我们一般的分类是动态变化的,品类会不断的调整&#…

软件工程专业常去的网站有以下10个

1.CSDN开源社区 CSDN设计计算机很多领域,网络安全,软件,硬件等等。 2.Github-开源代码托管平台 面向开源及私有软件项目的托管平台。 因为经常登陆不进去的原因,我很少访问。 3.菜鸟教程 是一个入门学生学习的网站。我经常在…

【Python学习笔记】28.Python3 错误和异常

前言 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍。 Python3 错误和异常 Python 有两种错误很容易辨认:语法错误和异常。 Python assert&#xf…

信息系统安全技术

一、信息安全的有关概念 1. 属性2. 四个安全层次※3. 信息安全保护等级※4. 安全保护能力的等级※ 二、信息加密、解密与常用算法 1. 对称加密2. 非对称加密3. Hash函数4. 数字签名5. 认证 三、信息系统安全 1. 计算机设备安全2. 网络安全3. 操作系统安全4. 数据库安全5. 应用系…