力扣(leetcode)每日一题 3259 超级饮料的最大强化能量|动态规划
3259. 超级饮料的最大强化能量
题干
来自未来的体育科学家给你两个整数数组 energyDrinkA 和 energyDrinkB,数组长度都等于 n。这两个数组分别代表 A、B 两种不同能量饮料每小时所能提供的强化能量。
你需要每小时饮用一种能量饮料来 最大化 你的总强化能量。然而,如果从一种能量饮料切换到另一种,你需要等待一小时来梳理身体的能量体系(在那个小时里你将不会获得任何强化能量)。
返回在接下来的 n 小时内你能获得的 最大 总强化能量。
注意 你可以选择从饮用任意一种能量饮料开始。
示例 1:
**输入:**energyDrinkA = [1,3,1], energyDrinkB = [3,1,1]
**输出:**5
解释:
要想获得 5 点强化能量,需要选择只饮用能量饮料 A(或者只饮用 B)。
题解
当要切换路线的时候,付出的代价是这个格子的饮料无法获取
直接憋动态规划,当前依赖上一个位置
public static long maxEnergyBoost(int[] energyDrinkA, int[] energyDrinkB) {int length = energyDrinkA.length;long[][] dp = new long[length + 1][2];// 0为a分支 1为b分支for (int index = length - 1; index >= 0; index--) {long tmp1 = dp[index + 1][0] + energyDrinkA[index]; // 还是选择a分支long tmp2 = dp[index + 1][1]; // 切换到b分支 当前小时无法获取能量dp[index][0] = Math.max(tmp2, tmp1);long tmp3 = dp[index + 1][1] + energyDrinkB[index];// 还是选择b分支long tmp4 = dp[index + 1][0]; 切换到a分支 当前小时无法获取能量dp[index][1] = Math.max(tmp3, tmp4);}return Math.max(dp[0][0], dp[0][1]);}

进行一下优化,节省内存空间,写法抽象些
public static long maxEnergyBoost(int[] energyDrinkA, int[] energyDrinkB) {int length = energyDrinkA.length;long aBranch = 0;long bBranch = 0;long tmp;for (int index = length - 1; index >= 0; index--) {tmp = aBranch;aBranch = Math.max(aBranch + energyDrinkA[index], bBranch);bBranch = Math.max(bBranch + energyDrinkB[index], tmp);}return Math.max(aBranch, bBranch);}

总结
常规的动态规划题目
相关文章:
力扣(leetcode)每日一题 3259 超级饮料的最大强化能量|动态规划
3259. 超级饮料的最大强化能量 题干 来自未来的体育科学家给你两个整数数组 energyDrinkA 和 energyDrinkB,数组长度都等于 n。这两个数组分别代表 A、B 两种不同能量饮料每小时所能提供的强化能量。 你需要每小时饮用一种能量饮料来 最大化 你的总强化能量。然而…...
Webserver(2.7)内存映射
目录 内存映射内存映射相关系统调用内存映射的注意事项如果对mmap的返回值(ptr)做操作,释放内存(munmap)是否能够成功?如果open时O_RDONLY,mmap时prot参数指定PROT_READ | PROT_WRITE会怎样?如果文件偏移量…...
vue3父子组件传值,子组件暴漏方法
1.父传子 defineProps 父组件直接通过属性绑定的方式给子组件绑定数据,子组件通过defineProps接收函数接收 其中v-model是完成事件绑定和事件监听的语法糖。v-model算是v-bind和v-on的简洁写法,等价于 <c-input ref"inputRef" :modelValue…...
Linux_04 Linux常用命令——tar
一、命令格式 tar [选项] [归档文件] [要处理的文件或目录]1、选项 c创建归档文件x解压缩归档文件z使用gzipj使用bzip2v处理过程显示信息f指定归档文件名称 2、归档文件-可指定目录及文件名 /home/wang.tar.gz 3、要处理的文件或目录 /home/study1/wang 二、常见命令 t…...
Java项目实战II基于Java+Spring Boot+MySQL的编程训练系统(源码+数据库+文档)
目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在当今数字…...
Rust:文档注释 //! 和 ///
在 Rust 编程语言中,//! 是一种特殊的文档注释(documentation comment)。它用于为整个模块、结构体、枚举、函数或其他项提供文档说明。与单行注释 // 和多行注释 /* ... */ 不同,//! 和 ///(用于紧跟在项之前的文档注…...
练习LabVIEW第二十七题
学习目标: 刚学了LabVIEW,在网上找了些题,练习一下LabVIEW,有不对不好不足的地方欢迎指正! 第二十七题: 创建一个VI程序模拟温度测量。假设传感器输出电压与温度成正比。例如,当温度为70F时&…...
使用React构建现代Web应用
💖 博客主页:瑕疵的CSDN主页 💻 Gitee主页:瑕疵的gitee主页 🚀 文章专栏:《热点资讯》 使用React构建现代Web应用 1 引言 2 React简介 3 安装React 4 创建React项目 5 设计应用结构 6 创建组件 7 使用组件…...
【系统设计】Merkle 算法在 Git 中的应用:深入理解与实践
引言 在现代软件开发中,Git 已成为版本控制的事实标准。Git 能够快速处理项目的变化,确保代码的完整性,其中一个关键技术就是 Merkle 树。本文将深入探讨 Merkle 算法的原理,以及其在 Git 中的具体应用。 1. Merkle 算法的原理 …...
【umi max】关于umi构建的项目在本地服务运行正常,但是部署时无致命报错却白屏,html文档的#root容器没有子元素的原因及解决办法
我们在部署时运维很可能会因为项目太多,进而放到不同的目录底下,例如project/H5-TEST-DEMO (其中project是项目的存放目录,而H5-TEST-DEMO才是我们部署的项目根目录)于是乎就会出现我们在本地服务里调试得好好的&#…...
Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
本示例演示在vue+openlayers中实现轨迹动画,这里设置了小汽车开始,暂停,结束等的控制键,采用了线段步长位置获取坐标来定位点的方式来显示小车的动态。 效果图 专栏名称内容介绍Openlayers基础实战 (72篇)专栏提供73篇文章,为小白群体提供基础知识及示例演示,能解决基…...
蓝牙MCU蓝牙医疗检测相关案例
英尚蓝牙MCU配套成熟的网络协议栈和丰富的示例代码及多平台APP工具。无需二次开发,即连即用;提供特色蓝牙/串口/USB三通芯片,为更多复杂无线应用赋能。相关产品及技术欢迎咨询。 应用案例说明: • 应用包括血糖仪,血氧仪,血压计,体温计,毒品…...
pytorch环境安装和更新,额外装cuda有什么意义
更新了一下设备和环境,看了眼其他教程,突然间发现都还让装cuda和cudnn。。。明明很早之前pytorch使用的和系统的cuda就已经脱钩了。 测试了一下不额外装也没发现什么问题,如果有谁知道装系统的cuda对pytorch有何意义,可以评论区告…...
【观成科技】APT组织常用开源和商业工具加密流量特征分析
概述 在当前的网络安全环境中,APT组织的活动愈发频繁,利用其高级技术和社会工程手段,针对全球范围内的政府、军事和企业目标发起了一系列复杂的网络攻击。在不断升级的攻击中,开源和商业工具凭借其灵活性、易用性和全球化攻击能力…...
Java开发者的Python快速进修指南:面向对象进阶
在上一期中,我们对Python中的对象声明进行了初步介绍。这一期,我们将深入探讨对象继承、组合以及多态这三个核心概念。不过,这里不打算赘述太多理论,因为我们都知道,Python与Java在这些方面的主要区别主要体现在语法上。例如,Python支持多重继承,这意味着一个类可以同时…...
【商汤科技-注册/登录安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...
诱骗取电快充协议芯片,支持与其它 MCU 共用 D+D-网络和电脑传输数据
前言 在科技日新月异的今天,快充技术已成为智能手机、平板电脑乃至笔记本电脑等电子设备不可或缺的一部分。各大厂商为了提升用户体验,纷纷推出了自家的快充协议,这些协议不仅让充电速度大幅提升,还带来了更加智能、安全的充电体验…...
Java Executor ScheduledExecutorService 源码
前言 相关系列 《Java & Executor & 目录》《Java & Executor & ScheduledExecutorService & 源码》《Java & Executor & ScheduledExecutorService & 总结》《Java & Executor & ScheduledExecutorService & 问题》 涉及内容 …...
【力扣 + 牛客 | SQL题 | 每日6题】牛客SQL热题 + 力扣hard
1. 牛客SQL热题206:获取每个部门中当前员工薪水最高的相关信息 1.1 题目: 描述 有一个员工表dept_emp简况如下: emp_nodept_nofrom_dateto_date10001d0011986-06-269999-01-0110002d0011996-08-039999-01-0110003d0021996-08-039999-01-01 有一个薪水…...
前端常见错误
搭建vueelement-ui脚手架错误 基于vue官方文档和element官方文档搭建手册报错 安装element Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist. types.js?8ad0:39 Uncaught TypeError: Cannot read property prototype of undefi…...
革新性插件本地化突破:Obsidian-i18n让所有插件无缝切换你的语言
革新性插件本地化突破:Obsidian-i18n让所有插件无缝切换你的语言 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n 问题发现:当插件界面成为使用障碍 你是否曾遇到这样的场景:好不容易找…...
2026年Turnitin AI检测对留学生论文的影响:检测标准和应对方案
2026年Turnitin AI检测对留学生论文的影响:检测标准和应对方案 同一篇论文,知网52%,维普38%,万方21%。 为什么差这么多?不是平台乱搞,而是检测算法和判断标准不一样。理解了Turnitin AI检测背后的逻辑&am…...
EasyAnimateV5-7b-zh-InP与Java集成开发实战
EasyAnimateV5-7b-zh-InP与Java集成开发实战 1. 企业级视频生成需求与解决方案 现在很多企业都需要视频内容,电商要商品展示视频,教育机构要教学动画,营销团队要广告视频。传统视频制作成本高、周期长,一个简单的商品视频可能就…...
vLLM部署ERNIE-4.5-0.3B-PT的批处理能力实测:batch_size=8时吞吐提升2.3倍
vLLM部署ERNIE-4.5-0.3B-PT的批处理能力实测:batch_size8时吞吐提升2.3倍 当我们需要同时处理多个用户的文本生成请求时,比如一个在线客服系统或者一个内容创作平台,传统的单条请求处理方式就会显得力不从心。服务器只能一个个排队处理&…...
原神智能辅助工具BetterGI:三维价值框架下的游戏效率提升方案
原神智能辅助工具BetterGI:三维价值框架下的游戏效率提升方案 【免费下载链接】better-genshin-impact 📦BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音…...
GEE实战:手把手教你用Sentinel-2数据计算植被覆盖度(附完整代码与避坑指南)
GEE实战:从零到一掌握Sentinel-2植被覆盖度计算全流程 清晨的阳光透过实验室的窗户洒在桌面上,一位生态学研究生正盯着电脑屏幕发愁——导师要求她在一周内完成研究区域的植被覆盖度分析,但GEE平台上那些晦涩的代码和突如其来的报错信息让她手…...
OpenClaw代码助手:Qwen3-14b_int4_awq实现的自动补全与错误检查
OpenClaw代码助手:Qwen3-14b_int4_awq实现的自动补全与错误检查 1. 为什么需要本地化代码助手? 作为一名长期与代码打交道的开发者,我一直在寻找能够提升编程效率的工具。传统的IDE插件虽然能提供基础补全,但存在几个痛点&#…...
Qwen3-14B在Keil5 MDK开发中的奇思妙用:注释生成与调试日志分析
Qwen3-14B在Keil5 MDK开发中的奇思妙用:注释生成与调试日志分析 1. 嵌入式开发的痛点与AI机遇 在STM32项目开发过程中,每个工程师都经历过这样的场景:接手一个遗留项目,面对大段没有注释的汇编代码;或者调试时串口不…...
Qwen3-ASR性能优化:基于CNN的语音特征提取技术
Qwen3-ASR性能优化:基于CNN的语音特征提取技术 语音识别技术发展到今天,已经不再是实验室里的新奇玩具,而是我们日常生活中随处可见的实用工具。从手机语音助手到会议记录软件,从智能家居控制到车载语音交互,语音识别…...
OpenClaw对话式编程:千问3.5-27B生成Python脚本并自动执行
OpenClaw对话式编程:千问3.5-27B生成Python脚本并自动执行 1. 为什么选择OpenClaw做对话式编程? 去年冬天的一个深夜,我盯着屏幕上的Python脚本发呆——这个需要每小时抓取一次数据的自动化任务,已经因为API变更第三次报错了。手…...
