算法--吃火锅

2023-11-17

题目:

和朋友一起吃火锅,有m个菜品,你的手速是n(即吃完一道菜,要经过时间n才能再去夹菜)。任一菜品下锅后,都需要经过对应时间才能熟,过时就不可口了。怎样可以吃到最多的可口的菜。

输入:

第1行:菜品数量m,手速n

第2-m行:每行两个数字,第一个数字代表下某菜的时间,第二个数字代表该菜下锅后到煮好需要的时间。

输出:

最多可以吃多少道菜

破题思路:

假设在时间点 A最后一次夹菜,从时间轴向前看,是否有时间点B也可以下筷子,如有,则代表在时间点A能吃到的菜数量比时间点B多1

上代码:

import java.util.*;

public class Main1 {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        int cai = scanner.nextInt();
        int hand = scanner.nextInt();
        scanner.nextLine();
        //菜煮好的时间数组
        int[] caishuleTemp = new int[cai];
        int time=0;
        for(int i=0;i< cai; i++){
            int xiacai = scanner.nextInt();
            int jingguo = scanner.nextInt();
            scanner.nextLine();
            //获取每个菜煮好的时间
            caishuleTemp[i]= xiacai+jingguo;
            //获取最后一道菜煮好的时间
            time = Math.max(time, caishuleTemp[i]);
        }
        //括号里为将int[]转为Integer[]
        List<Integer> caishule = Arrays.asList(
                     Arrays.stream(caishuleTemp).boxed().toArray(Integer[]::new));
        //all[i]为在i秒夹最后一次菜,能吃到的菜数量
        int[] all = new int[time+1];
        for(int i=1;i<time+1; i++){
            if(caishule.contains(i)){
                //如果该时间点有菜煮好,则all[i]初始化为1
                all[i]=1;
            }
            
            for(int j=i-hand;j>0;j--){
                if(caishule.contains(j)){
                    //时间i比时间点j可以多吃一个菜
                    all[i]=Math.max(all[j]+1, all[i]);
                    break;
                }    
                }
            }
        //排序后取最大值
        Arrays.sort(all);
        System.out.println(all[time]);
    }    
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

算法--吃火锅 的相关文章

  • 为什么会出现此异常 FileItemStream$ItemSkippedException?

    在 gwt Web 应用程序中 我必须发送一个文件和附加的一些参数 在服务器端 try ServletFileUpload upload new ServletFileUpload FileItemIterator iterator upl
  • 位图内存不足错误

    我对这个错误有疑问 我从 URL 制作网站图标解析器 我这样做是这样的 public class GrabIconsFromWebPage public static String replaceUrl String url StringB
  • MongoTemplate upsert - 从 pojo 进行更新的简单方法(哪个用户已编辑)?

    这是一个简单的 pojo public class Description private String code private String name private String norwegian private String en
  • Jackson - 反序列化嵌套 JSON

    我有一个 JSON 字符串 其格式如下 response execution status ready report cache hit true created on 2013 07 29 08 42 42 fact cache erro
  • jvm 次要版本与编译器次要版本

    当运行使用具有相同主要版本但次要版本高于 JVM 的 JDK 编译的类时 JVM 会抛出异常吗 JDK 版本并不重要 类文件格式版本 http blogs oracle com darcy entry source target class
  • Java 正则表达式 - 字母数字,最多一个连字符,句点或下划线,七个字符长

    我是 Java 正则表达式工具的新手 尽管它们潜力巨大 但我很难完成这项任务 我想编写一个正则表达式来验证遵循以下语法的输入字符串 小写字母和数字的任意组合 仅一个下划线 一个破折号或一个句号 无其他特殊字符 最小长度为 5 我想出了以下解
  • JFace ColumnWeigthData 导致父级增长

    我有一个 Eclipse RCP 应用程序 并且想要在TableViewer using ColumnWeigthData as ColumnLayoutData 问题是父表单 ScrolledForm在示例代码中 每当我布局表格时都会增加
  • Jenkins 的代码覆盖率 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 发生错误。请参阅日志文件 - eclipse juno

    每当我启动 Eclipse Juno 时 都会出现错误 发生错误 请查看日志文件 C Program Files eclipse configuration 1362989254411 log 有的网站说卸载jdk重新安装 我这样做了 但没
  • 我想在java中使用XQuery进行Xml处理

    我想用XQuery用于从 java 中的 Xml 获取数据 但我没有得到需要为此添加哪个 Jar 我在谷歌上搜索了很多 但没有得到任何有用的例子 例如我得到以下链接 https docs oracle com database 121 AD
  • 当您在数组列表上调用remove(object o)时,它如何比较对象?

    当您在 java 中的数组列表上调用remove object o 时 它如何比较对象以找到要删除的正确对象 它使用指针吗 或者它使用 Comparable 接口来比较对象吗 ArrayList remove 依赖于对象的实现Equal方法
  • 带有 OpenId 提供程序的 Java Spring 安全性

    我有一个 spring MVC 应用程序 另一个客户端应用程序想要使用 open id connect 访问我的 spring 应用程序 如何在服务器端实现开放ID提供商 请帮忙 MITREid 连接 OpenID Connect Java
  • 了解 Spark 中的 DAG

    问题是我有以下 DAG 我认为当需要洗牌时 火花将工作划分为不同的阶段 考虑阶段 0 和阶段 1 有些操作不需要洗牌 那么为什么 Spark 将它们分成不同的阶段呢 我认为跨分区的实际数据移动应该发生在第 2 阶段 因为这里我们需要cogr
  • Java中的回调接口是什么?

    SetObserver 接口的代码片段取自有效的Java 避免过度同步第67条 public interface SetObserver
  • Java:由 HTTP 连接创建的等待连接线程存活时间很长

    我有一个服务器端代码 用于检查 SOAP 服务是否已启动 代码如下 String response while response length 0 try final URL url new URL DummySoapServiceURL
  • 使用 JAD 反编译 java - 限制

    我正在尝试使用 Java 中的 JAD 反编译几个 jar 文件 我也尝试过 JD GUI 但运气更差 但出现了很多错误 一种类型 易于修复 似乎是内部类 但我也发现了这段代码 static int SWITCH TABLE atp com
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • 摩尔斯电码 至 英语

    我现在的问题是让 摩尔斯电码转英语 正常工作 将英语转换为莫尔斯电码的第一部分工作正常 我知道以前已经有人问过这个问题 但我不知道我做错了什么 我知道我需要在某个地方进行拆分 但我只是不确定将其放在代码中的何处 现在 莫尔斯电码到英语的部分
  • Java:使用 Graph API 在线更新 Sharepoint 上的 docx 文件

    我在使用 Java 在线更新 Sharepoint 上的 docx 文件时遇到问题 首先 我检查了构建 PUT 请求的 URL 此处 并使用此请求 PUT drives drive id items item id content 我首先使
  • 如何在不同版本的Google App Engine中使用自定义域名?

    我使用谷歌应用程序引擎作为我的 Android 和 Web 应用程序的服务器 我使用 Android Studio 开发了 Android 应用程序 并使用 Eclipse 开发了 Web 应用程序 我在应用程序引擎中部署了两个版本 第一个

随机推荐

  • 自己创建下拉框数组

    自己创建1 8的数组供下拉框选择 this scanPositions new Array 8 fill null map i index gt return label index 1 车 value index 1
  • 2023年第1季社区Task挑战赛开启,等你来战!

    社区Task挑战赛是面向社区开发者开展的代码或教程征集活动 该挑战赛为社区中热爱FISCO BCOS及周边组件的开发者提供了探索区块链技术 挑战技术难题的舞台 该挑战赛去年在社区成功举办了3季 共吸引了数百名开发者报名 前3季都有哪些有趣的
  • Java多态

    关于引用的进一步理解 交换值 因为Java方法在传递参数的时候都是值传递 那么如何通过方法实现2个数的值交换 明确 在传引用的时候 到底拿引用干了个啥 class Value public int a public class Test p
  • 【51单片机 】定时器的初始值计算 详解

    首先值得一提的是 51单片机定时器与主程序是并行工作的 就是主程序在运行的时候 定时器也在计数 计数溢出后定时器中断主程序的运行 转而执行中断服务程序 此外还有串行口 中断系统 都独立的工作 不用 CPU 干预 正文部分 好了 我们先来看初
  • ROS noetic tf demo错误处理及python版本切换

    文章目录 报错描述及解决 ubuntu20 04下python版本切换 报错描述及解决 ubuntu版本 20 04 ROS版本 noetic roslaunch turtle tf turtle tf demo launch 报错信息 t
  • 04-JavaWeb-使用Servlet+JSP+JDBC实现CRUD

    一 介绍 在掌握了JavaAPI HTML Servlet JSP JDBC等知识后 咱们利用这些知识点 打通从前端页面到后端Java 再到数据库的各个环节 通过实现一个员工的CRUD来巩固一下相关知识 项目架构如下 实现功能如下 员工列表
  • CMD之拷贝文件夹

    左右无空格 SET srcdir protobuf IDL SET dstdir install proto Y 取消提示以确认要覆盖 E 复制目录和子目录 包括空目录 I 如果目标不存在 且要复制多个文件 则假定目标必须是目录 Q 复制时
  • ES6知识点总结一:const、let、箭头函数

    1 ES6常量及变量的声明const let ES6 新增了let命令来声明变量 const用来声明常量 ES6新增的let和const拥有 块级作用域 ES5只有 全局作用域 和 函数作用域 const与var区别 var声明的变量可以重
  • 如何将本地项目上传到git仓库中

    如何将本地项目上传到git仓库中 1 打开github 新建一个仓库用来存放项目 2 复制创建仓库链接 https github com WQ181 qiji git 3 找到要上传的项目文件 比如 qj consult就是我要上传到仓库上
  • python-turtle画图

    认识Turtle Turtle是一个渲染器 基于底层图形编程结构 API 构建 主要用于场景的构建以及3D物体的绘制 3D游戏 虚拟场景等 Turtle是一个窗体程序 Turtle是Python语言中的一个很流行的绘制图像的函数库 想象一个
  • js表单案例

    js表单案例 包括阻止提交的默认行为 添加节点操作以及删除节点操作等等
  • 逻辑思维训练1200题-蓝桥杯计算思维参考

    黑格尔曾说过 逻辑是一切思考的基础 逻辑思维能力强的人能迅速 准确地把握住问题的实质 面对纷繁复杂的事情能更容易找到解决的办法 逻辑思维训练1200 题 介绍了排除法 递推法 倒推法 作图法 假设法 计算法 分析法 类比法 推理法 判断法
  • 记录下:解决fatal error: sqlite3.h: No such file or directory

    编译sqlite3数据库c语言程序时出现fatal error sqlite3 h No such file or directory 找不到头文件的问题 原来是系统没有安装函数库 执行下面语句解决 sudo apt get install
  • Linux服务器上配置Jupyter并在后台运行

    使用工具 Xshell作为终端 Python3 版本 Xmanager打开Linux图形浏览器 第一步 安装Jupyter pip3 install i https pypi douban com simple jupyter 如果己安装好
  • 用户信息表(查询数据 、 修改密码 、 添加数据)

    效果 列表的数据 添加用户的效果 修改用户表
  • Excel读取返回List<Map>工具方法

  • cocos2d-x

    http www myexception cn operating system 1222879 html http www tuicool com articles zQ3Q7n http www myexception cn opera
  • 服装商城小程序制作:打造便捷购物体验和提升销售额的利器

    随着移动互联网的发展 服装商城小程序成为各大服装品牌推广销售的重要工具 它不仅能够为用户提供便捷的购物体验 还能帮助服装商城实现更高效的销售和管理 下面给大家介绍下服装商城小程序的优点以及制作流程 让您了解并充分利用这一利器 优点 便捷购物
  • 云端部署code-server

    code server下载地址 GitHub coder code server VS Code in the browser 操作环境 本文配置环境为 aliyun ECS Debian 11 5 准备工作 Xftp 阿里云ECS云服务器
  • 算法--吃火锅

    题目 和朋友一起吃火锅 有m个菜品 你的手速是n 即吃完一道菜 要经过时间n才能再去夹菜 任一菜品下锅后 都需要经过对应时间才能熟 过时就不可口了 怎样可以吃到最多的可口的菜 输入 第1行 菜品数量m 手速n 第2 m行 每行两个数字 第一