1276. 不浪费原料的汉堡制作方案 --力扣 --JAVA

简介: 圣诞活动预热开始啦,汉堡店推出了全新的汉堡套餐。为了避免浪费原料,请你帮他们制定合适的制作计划。给你两个整数 tomatoSlices 和 cheeseSlices,分别表示番茄片和奶酪片的数目。不同汉堡的原料搭配如下:巨无霸汉堡:4 片番茄和 1 片奶酪小皇堡:2 片番茄和 1 片奶酪请你以 [total_jumbo, total_small]([巨无霸汉堡总数,小皇堡总数])的格式返回恰当的制作方案,使得剩下的番茄片 tomatoSlices 和奶酪片 cheeseSlices 的数量都是 0。如果无法使剩下的番茄片 tomatoSlices 和奶酪片 cheeseSlic

 题目

圣诞活动预热开始啦,汉堡店推出了全新的汉堡套餐。为了避免浪费原料,请你帮他们制定合适的制作计划。

给你两个整数 tomatoSlicescheeseSlices,分别表示番茄片和奶酪片的数目。不同汉堡的原料搭配如下:

    • 巨无霸汉堡:4 片番茄和 1 片奶酪
    • 小皇堡:2 片番茄和 1 片奶酪

    请你以 [total_jumbo, total_small]([巨无霸汉堡总数,小皇堡总数])的格式返回恰当的制作方案,使得剩下的番茄片 tomatoSlices 和奶酪片 cheeseSlices 的数量都是 0

    如果无法使剩下的番茄片 tomatoSlices 和奶酪片 cheeseSlices 的数量为 0,就请返回 []

    解题思路

      1. 先将所有的奶酪制作成小皇堡,计算剩余的番茄片;
      2. 分情况讨论:
        1. 无法满足不剩下奶酪或番茄:
          1. 剩余番茄片小于0;
          2. 剩下番茄片无法整除2(巨无霸汉堡 - 小皇堡);
          3. 所有奶酪片都制作巨无霸汉堡都无法消耗完番茄片;
            1. 番茄片剩余0:
              1. 所有汉堡都为小皇堡;
                1. 剩余的番茄片 % 2获得巨无霸汉堡的数量,剩下的奶酪片则做成小皇堡。

                  代码展示

                  class Solution {
                      public List<Integer> numOfBurgers(int tomatoSlices, int cheeseSlices) {
                          List<Integer> ans = new ArrayList<>();
                          int residue = tomatoSlices - cheeseSlices * 2;
                          if(residue < 0 || residue % 2 == 1 || tomatoSlices > cheeseSlices * 4){
                              return ans;
                          } else if(residue == 0){
                              ans.add(0);
                              ans.add(cheeseSlices);
                          } else {
                              int num = residue / 2;
                              ans.add(num);
                              ans.add(cheeseSlices - num);
                          }
                          return ans;
                      }
                  }

                  image.gif


                  目录
                  相关文章
                  |
                  6月前
                  |
                  机器学习/深度学习 JSON Java
                  Java调用Python的5种实用方案:从简单到进阶的全场景解析
                  在机器学习与大数据融合背景下,Java与Python协同开发成为企业常见需求。本文通过真实案例解析5种主流调用方案,涵盖脚本调用到微服务架构,助力开发者根据业务场景选择最优方案,提升开发效率与系统性能。
                  1446 0
                  |
                  7月前
                  |
                  Cloud Native 前端开发 Java
                  WebAssembly 与 Java 结合的跨语言协作方案及性能提升策略研究
                  本文深入探讨了WebAssembly与Java的结合方式,介绍了编译Java为Wasm模块、在Java中运行Wasm、云原生集成等技术方案,并通过金融分析系统的应用实例展示了其高性能、低延迟、跨平台等优势。结合TeaVM、JWebAssembly、GraalVM、Wasmer Java等工具,帮助开发者提升应用性能与开发效率,适用于Web前端、服务器端及边缘计算等场景。
                  261 0
                  |
                  6月前
                  |
                  缓存 监控 Kubernetes
                  Java虚拟机内存溢出(Java Heap Space)问题处理方案
                  综上所述, 解决Java Heap Space溢出需从多角度综合施策; 包括但不限于配置调整、代码审查与优化以及系统设计层面改进; 同样也不能忽视运行期监控与预警设置之重要性; 及早发现潜在风险点并采取相应补救手段至关重要.
                  825 17
                  |
                  6月前
                  |
                  数据采集 存储 弹性计算
                  高并发Java爬虫的瓶颈分析与动态线程优化方案
                  高并发Java爬虫的瓶颈分析与动态线程优化方案
                  |
                  8月前
                  |
                  缓存 Java 数据库
                  Java 项目分层架构实操指南及长尾关键词优化方案
                  本指南详解基于Spring Boot与Spring Cloud的Java微服务分层架构,以用户管理系统为例,涵盖技术选型、核心代码实现、服务治理及部署实践,助力掌握现代化Java企业级开发方案。
                  362 2
                  |
                  9月前
                  |
                  安全 Java Docker
                  Docker 部署 Java 应用实战指南与长尾优化方案
                  本文详细介绍了Docker容器化部署Java应用的最佳实践。首先阐述了采用多阶段构建和精简JRE的镜像优化技术,可将镜像体积减少60%。其次讲解了资源配置、健康检查、启动优化等容器化关键配置,并演示了Spring Boot微服务的多模块构建与Docker Compose编排方案。最后深入探讨了Kubernetes生产部署、监控日志集成、灰度发布策略以及性能调优和安全加固措施,为Java应用的容器化部署提供了完整的解决方案指南。文章还包含大量可落地的代码示例,涵盖从基础到高级的生产环境实践。
                  494 3
                  |
                  8月前
                  |
                  JavaScript Java Go
                  Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
                  Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
                  570 0
                  |
                  11月前
                  |
                  数据采集 自然语言处理 JavaScript
                  Playwright多语言生态:跨Python/Java/.NET的统一采集方案
                  随着数据采集需求的增加,传统爬虫工具如Selenium、Jsoup等因语言割裂、JS渲染困难及代理兼容性差等问题,难以满足现代网站抓取需求。微软推出的Playwright框架,凭借多语言支持(Python/Java/.NET/Node.js)、统一API接口和优异的JS兼容性,解决了跨语言协作、动态页面解析和身份伪装等痛点。其性能优于Selenium与Puppeteer,在学术数据库(如Scopus)抓取中表现出色。行业应用广泛,涵盖高校科研、大型数据公司及AI初创团队,助力构建高效稳定的爬虫系统。
                  620 2
                  Playwright多语言生态:跨Python/Java/.NET的统一采集方案
                  |
                  9月前
                  |
                  前端开发 数据可视化 Java
                  开发 JavaFX 与 Java Swing 桌面应用的实用技巧与实践方案
                  本文介绍了Java桌面应用开发的技术选型与JavaFX实战方案。首先对比了JavaFX和Swing的特点,推荐JavaFX更适合现代UI需求。重点讲解了JavaFX 19+的技术升级,包括模块化开发(module-info.java配置)和响应式UI设计(CSS样式管理)。在数据访问层展示了JDBC 4.3的集成和异步加载实现。高级UI组件部分演示了自定义表格和图表可视化的开发方法。最后介绍了MVVM架构的实现,包括视图模型的数据绑定和FXML控制器的集成,为开发者提供了完整的JavaFX桌面应用开发解决方案。
                  731 0
                  |
                  11月前
                  |
                  数据采集 存储 网络协议
                  Java HttpClient 多线程爬虫优化方案
                  Java HttpClient 多线程爬虫优化方案

                  热门文章

                  最新文章