百度网站 收录最好看免费观看高清大全英雄联盟

张小明 2025/12/28 15:40:53
百度网站 收录,最好看免费观看高清大全英雄联盟,网站安全建设,androidapp开发入门下面我把 LeetCode 3652#xff1a;按策略买卖股票的最佳时机 完整做一遍#xff1a;从建模 → 思路 → 算法 → 代码#xff08;含详细注释#xff09;#xff0c;一步一步来。 原题#xff1a; 给你两个整数数组 prices 和 strategy#xff0c;其中#xff1a;prices…下面我把LeetCode 3652按策略买卖股票的最佳时机完整做一遍从建模 → 思路 → 算法 → 代码含详细注释一步一步来。原题给你两个整数数组 prices 和 strategy其中prices[i] 表示第 i 天某股票的价格。 strategy[i] 表示第 i 天的交易策略其中 -1 表示买入一单位股票。 0 表示持有股票。 1 表示卖出一单位股票。 同时给你一个 偶数 整数 k你可以对 strategy 进行 最多一次 修改。一次修改包括 选择 strategy 中恰好 k 个 连续 元素。 将前 k / 2 个元素设为 0持有。 将后 k / 2 个元素设为 1卖出。 利润 定义为所有天数中 strategy[i] * prices[i] 的 总和 。 返回你可以获得的 最大 可能利润。注意 没有预算或股票持有数量的限制因此所有买入和卖出操作均可行无需考虑过去的操作 做出这道题并给出详细解释分析和注释一、题意重述用“数学 业务”语言给定prices[i]第i天股价strategy[i]第i天策略-1买入 → 对利润贡献-prices[i]0持有 → 贡献01卖出 → 贡献prices[i]原始利润[profit \sum strategy[i] \times prices[i]]你可以做最多一次修改修改规则选一个长度为k的连续子数组前k/2天 → 全部改成0后k/2天 → 全部改成1⚠️k是偶数目标修改 0 次或 1 次使总利润最大二、关键思维问题本质是什么1️⃣ 原利润是固定的baseProfit Σ strategy[i] * prices[i]我们只需要关心“一次修改最多能额外增加多少利润”2️⃣ 修改 对一段区间的“利润差值”设修改区间是[l, r]长度k其中[l, l k/2 - 1]→ 改为0[l k/2, r]→ 改为1原贡献Σ strategy[i] * prices[i]新贡献前半段0 后半段prices[i]增量 新 - 原三、把“增量”拆成两个部分 前半段变成 0原来strategy[i] * prices[i] 现在0 增量- strategy[i] * prices[i] 后半段变成卖出原来strategy[i] * prices[i] 现在prices[i] 增量(1 - strategy[i]) * prices[i]✅ 单次修改的总增量[\Delta \sum_{前半段} (-strategy[i] \cdot prices[i])\sum_{后半段} ((1 - strategy[i]) \cdot prices[i])]四、算法思路滑动窗口为什么用滑动窗口区间长度固定为k要枚举所有连续长度为k的区间每次移动只加减一个元素O(n)核心变量baseProfit不修改的利润delta当前窗口的利润增量maxDelta所有窗口中最大的增量滑动时怎么更新设当前窗口[i - k 1, i]新进入的元素i若i在后半段 → 加(1 - strategy[i]) * prices[i]移出的元素i - k若它原来在前半段 → 减-strategy[x] * prices[x]若在后半段 → 减(1 - strategy[x]) * prices[x]五、完整 Java 实现带详细注释classSolution{publiclongmaxProfit(int[]prices,int[]strategy,intk){intnprices.length;// 1. 计算原始利润longbaseProfit0;for(inti0;in;i){baseProfit(long)strategy[i]*prices[i];}// 如果 k 为 0 或无法修改if(k0||kn){returnbaseProfit;}inthalfk/2;longdelta0;longmaxDelta0;// 2. 初始化第一个窗口 [0, k-1]for(inti0;ik;i){if(ihalf){// 前半段 → 变成 0delta-(long)strategy[i]*prices[i];}else{// 后半段 → 变成卖出delta(long)(1-strategy[i])*prices[i];}}maxDeltaMath.max(0,delta);// 3. 滑动窗口for(intik;in;i){intouti-k;// 移除 outif(outouthalf){delta--(long)strategy[out]*prices[out];}else{delta-(long)(1-strategy[out])*prices[out];}// 加入 iif(ioutk-half){delta-(long)strategy[i]*prices[i];}else{delta(long)(1-strategy[i])*prices[i];}maxDeltaMath.max(maxDelta,delta);}// 4. 原始利润 最佳增量returnbaseProfitmaxDelta;}}六、复杂度分析项目复杂度时间O(n)空间O(1)七、为什么这题是「中等」但难度偏高题目描述是业务语言真正考的是数学建模能力把“策略变化”转为“区间增量”很多人卡在不知道“利润增量”怎么计算想 DP其实不需要
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

慈溪网站优化net网站是国际域名吗

写论文最痛苦的,是不是好不容易憋出内容,导师却说“这段不像你写的”?别慌!「好写作AI」最新研发的个性化引擎,正在让AI从“通用写手”进化成“你的专属学术分身”——它不仅能写,还能学着用你的方式来写。…

张小明 2025/12/26 18:46:01 网站建设

做美团团购网站网站开发的配置过程

Linux新闻阅读器配置与网络示例详解 新闻阅读器基础介绍 新闻阅读器是用户用于查看、存储和创建新闻文章的程序。有多个新闻阅读器已被移植到Linux系统,下面将介绍三种流行新闻阅读器(tin、trn和nn)的基本配置。 有一种简单有效的新闻阅读方式是使用以下命令: $ find …

张小明 2025/12/27 1:41:22 网站建设

wordpress 物流 系统网站标题应该怎么做SEO优化

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个AI辅助调试工具,能够自动检测HTTP请求中的Unsupported Media Type错误。当用户输入一个导致415错误的API请求示例时,系统应分析请求头中的Content-T…

张小明 2025/12/26 23:18:10 网站建设

湖北网站建设的释义网页设计与制作读书心得体会1000字

MZmine 3质谱数据处理终极指南:从原始数据到生物学洞察的5个关键步骤 【免费下载链接】mzmine3 MZmine 3 source code repository 项目地址: https://gitcode.com/gh_mirrors/mz/mzmine3 在代谢组学、蛋白质组学等生命科学研究中,质谱数据分析的质…

张小明 2025/12/25 17:20:38 网站建设

做软件的中介网站建设工程合同包括哪些合同

YoloMouse游戏光标自定义完全指南:从零基础到专业配置 【免费下载链接】YoloMouse Game Cursor Changer 项目地址: https://gitcode.com/gh_mirrors/yo/YoloMouse 想要在游戏中拥有个性化的鼠标光标吗?YoloMouse这款开源工具将彻底改变你的游戏体…

张小明 2025/12/25 17:20:04 网站建设

网站费用单门户网站内容

Excalidraw呈现OKR目标体系:战略拆解可视化 在远程办公常态化、组织敏捷化转型加速的今天,团队如何确保战略意图不被稀释,目标执行不走样?这是许多管理者面临的现实挑战。尤其当使用OKR这类强调透明与对齐的目标管理框架时&#…

张小明 2025/12/25 17:19:31 网站建设