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

day-77 超级饮料的最大强化能量

在这里插入图片描述
思路
动态规划:因为每一步要么选A,要么选B,所以问题可以转换为求最后一步从A选或从B选中的较大值

解题过程
定义而二维数组dp,dp[i][0]表示最后一步从A取能获得的最大能量,dp[i][1]表示最后一步从B取能获得的最大能量状态转换方程为:
dp[i][0]=Math.max(dp[i-1][0]+energyDrinkA[i],dp[i-1][1])
dp[i][1]=Math.max(dp[i-1][1]+energyDrinkB[i],dp[i-1][0])
最后返回Math.max(dp[len-1][0],dp[len-1][1])即可

Code

class Solution {
    public long maxEnergyBoost(int[] energyDrinkA, int[] energyDrinkB) {
        int len=energyDrinkA.length;
        long dp[][]=new long[len][2];
        dp[0][0]=energyDrinkA[0];
        dp[0][1]=energyDrinkB[0];
        for(int i=1;i<len;i++){
            dp[i][0]=Math.max(dp[i-1][0]+energyDrinkA[i],dp[i-1][1]);
            dp[i][1]=Math.max(dp[i-1][1]+energyDrinkB[i],dp[i-1][0]);
        }
        return Math.max(dp[len-1][0],dp[len-1][1]);
    }
}

作者:菜卷
链接:https://leetcode.cn/problems/maximum-energy-boost-from-two-drinks/solutions/2974033/chao-ji-yin-liao-de-zui-da-qiang-hua-nen-vef1/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.kler.cn/a/374835.html

相关文章:

  • 如何解决 ‘adb‘ 不是内部或外部命令,也不是可运行的程序或批处理文件的问题
  • 环网冗余CAN转光纤 CAN光端机在风电项目应用
  • javaEE--计算机是如何工作的-1
  • 知识图谱+RAG学习
  • sed命令中单引号的处理
  • Redis存在安全漏洞
  • .net Core 使用Panda.DynamicWebApi动态构造路由
  • qt QDoubleSpinBox详解
  • 第15课 算法(下)
  • 使用 Cloudreve 搭建你的专属个人网盘
  • 分布式 ID 生成策略(一)
  • 如何提高社媒品牌知名度,3个增加曝光的实操方法
  • 微信小程序服务通知
  • 【HarmonyOS NEXT】在 HarmonyOS NEXT 中实现优雅的加载动画
  • python 五子棋小游戏
  • GIN 反向代理功能
  • C/C++ 每日一练:二叉树的先序遍历
  • Webserver(2.6)信号
  • 信号完整性SI总结【小登培训】
  • OpenCV基础知识
  • DB-GPT系列(二):DB-GPT部署(镜像一键部署、源码部署)
  • C++ 代码工程化
  • 微信小程序,打开新的项目,调试遇见[ app.json 文件内容错误] app.json: 在项目根目录未找到 app.json
  • 【行业应用-工业防爆】本安型工业防爆网关,实现安全高效的数据传输与监控
  • 如何解决docker镜像下载失败问题
  • nfs作业