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


                  目录
                  相关文章
                  |
                  5月前
                  |
                  小程序 数据可视化 Java
                  Java+后端Spring boot 开发的全套UWB定位方案,0.1米高精度定位系统源码
                  UWB定位系统由硬件定位设备、定位引擎和应用软件组成。该定位系统应用软件支持PC端和移动端访问,并提供位置实时显示、历史轨迹回放、人员考勤、电子围栏、行为分析、智能巡检等功能。定位精度高达10cm,同时具备高动态、高容量、低功耗的优点。应用场景包括:隧道、化工、工厂、煤矿、工地、电厂、养老、展馆、整车、机房、机场等。
                  110 8
                  |
                  4月前
                  |
                  安全 Java 数据安全/隐私保护
                  在Java项目中集成单点登录(SSO)方案
                  在Java项目中集成单点登录(SSO)方案
                  |
                  5月前
                  |
                  安全 Java UED
                  深度解析Java中方法内的异步调用实践与应对方案
                  深度解析Java中方法内的异步调用实践与应对方案
                  141 1
                  |
                  1月前
                  |
                  算法 Java
                  LeetCode(一)Java
                  LeetCode(一)Java
                  |
                  3月前
                  |
                  存储 NoSQL Java
                  一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
                  这篇文章是关于Java面试中的分布式架构问题的笔记,包括分布式架构下的Session共享方案、RPC和RMI的理解、分布式ID生成方案、分布式锁解决方案以及分布式事务解决方案。
                  一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
                  |
                  4月前
                  |
                  Java 关系型数据库 MySQL
                  GraalVM 静态编译下 OTel Java Agent 的自动增强方案与实现
                  在 2024 OpenTelemetry Community Day 会议中,阿里云可观测工程师张乎兴(望陶)和饶子昊(铖朴)为大家带来了《GraalVM 静态编译下 OTel Java Agent 的自动增强方案与实现》的演讲分享,介绍阿里云在相关领域的探索方案,本文是相关分享对应的中文整理。
                  250 17
                  |
                  3月前
                  |
                  算法 Java
                  LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
                  LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
                  51 6
                  |
                  3月前
                  |
                  存储 算法 Java
                  LeetCode经典算法题:打家劫舍java详解
                  LeetCode经典算法题:打家劫舍java详解
                  70 2
                  |
                  3月前
                  |
                  人工智能 算法 Java
                  LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
                  LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
                  50 1
                  |
                  3月前
                  |
                  存储 算法 Java
                  LeetCode经典算法题:预测赢家+香槟塔java解法
                  LeetCode经典算法题:预测赢家+香槟塔java解法
                  60 1