力扣122 买卖股票的最佳时机II java实现

122.买卖股票的最佳时机II

给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。

在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。然而,你可以在同一天多次买卖该股票,但要确保你持有的股票不超过一股。

返回你能获得的最大利润

示例 1:

输入:prices = [7,1,5,3,6,4]输出:7解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。 最大总利润为 4 + 3 = 7 。

示例 2:

输入:prices = [1,2,3,4,5]输出:4解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。 最大总利润为 4 。

示例 3:

输入:prices = [7,6,4,3,1]输出:0解释:在这种情况下, 交易无法获得正利润,所以不参与交易可以获得最大利润,最大利润为 0。

提示:

  • 1 <= prices.length <= 3 * 104
  • 0 <= prices[i] <= 104

该题对比买卖股票的最佳时机题,多了一个可以多次买卖股票的条件,现在想使最终的利润最大化,可以用动态规划解决,设置dp[][]数组,dp[][]=dp[prices.length][2]。dp[i][0]表示第i天手里没有股票的最大利益,dp[i][1]表示第i天自上次卖出股票后到现在购买股票的最小值,例如,prices = [7,1,5,3,6,4],dp[0][1] = -7,因为一开始购买股票的最小值是7,dp[0][0]=0,dp[1][1]=-1,因为1小于7,当前购买的股票的最小值是1,dp[1][0]=0,紧接着dp[2][1] = -5当前股票价值上涨,直接卖出,最小的股票价值是5,dp[2][0]= 0+5-1=4,然后继续dp[3][1]=-3,由于今天购买股票的更低,dp[3][0]保持不变dp[3][0]=4,然后dp[4][1] = -6,今天股票价值上涨,直接卖出,再次购买股票的最低价值就是今天,dp[4][0] = dp[3][0] + dp[3][1] + 6 = 4 - 3 + 6 = 7,后续则可得出最大值为7。代码如下

public static void main(String[] args) { // 测试用 int[] prices = {7,1,5,3,6,4}; System.out.println(maxProfit(prices)); } public static int maxProfit(int[] prices) { int[][] dp = new int[prices.length][2]; dp[0][1] = -prices[0]; for (int i = 1; i < prices.length; i++) { if (dp[i - 1][0] < dp[i - 1][1] + prices[i] + dp[i - 1][0]){ dp[i][0] = dp[i - 1][1] + prices[i] + dp[i - 1][0]; dp[i][1] = -prices[i]; }else { dp[i][0] = dp[i - 1][0]; dp[i][1] = Math.max(dp[i - 1][1], -prices[i]); } } return dp[prices.length - 1][0]; }

以上为记录分享用,代码较差请见谅

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1206464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32项目分享:图书馆环境监测系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 PCB图 五、程序设计 六、实验效果 ​ 七、包含内容 项目分享 一、前言 项目成品图片&#xff1a; 哔哩哔哩视频链接&#xff1a; https://www.bilibili.com/video/BV13PijBHEAv/?…

2026年矩阵系统避坑指南:市面主流软件真实横评,到底哪家好?

“矩阵系统哪家好&#xff1f;”这个问题在2026年的运营圈里&#xff0c;其实是在问&#xff1a;“怎么用最少的人&#xff0c;安全地管好最多的号&#xff0c;还能把钱赚了&#xff1f;”市面上的工具几百款&#xff0c;从几十块的群控软件到几十万的SaaS系统&#xff0c;水很…

2026年私域的八大挑战及发展方向

2026年&#xff0c;私域运营进入“合规化、专业化、价值化”的深水区&#xff0c;全域融合与AI技术的深度渗透&#xff0c;既放大了传统运营痛点&#xff0c;也催生了新的增长机遇。基于行业调研与新规动态&#xff0c;私域领域的八大挑战愈发清晰&#xff0c;而对应的破局方向…

7×24小时技术支持的售后服务系统有哪些?

在数字化转型的背景下 &#xff0c;企业需要保障业务连续性 &#xff0c;提供724小时的技术支持 。选择—家提供724小时技术支持的售后服务系统提供商 &#xff0c;能够帮助企业提升售后服务效率 &#xff0c;降低服务成本 &#xff0c;提高客户满意度。在724小时技术支持售后服…

2026年矩阵系统选型图谱:5款主流软件的“性格画像”与适用场景匹配

在选择矩阵系统时&#xff0c;很多企业容易陷入“谁功能最多”的误区。实际上&#xff0c;没有最好的系统&#xff0c;只有最适合业务流派的工具。为了公平起见&#xff0c;我们选取了市面上5种不同定位的代表性产品&#xff0c;从核心场景、功能侧重及适用人群三个维度进行等量…

能对接电商系统的售后服务系统有哪些?

在互联网电商行业 &#xff0c;售后服务系统需要与电商系统对接 &#xff0c;实现业务协同 。选择—家能对接电商系统的售后服务系统提供商 &#xff0c;能够帮助企业提升售后服务效率 &#xff0c;降低服务成本 &#xff0c;提高客户满意度。在电商对接售后服务系统领域 &…

APS概念-需求时间供应时间

一、核心概念解读这是 APS 系统中需求时间与供应时间的精细化配置规则&#xff0c;用来解决 ERP 仅按 “天” 跟踪订单、无法匹配生产实际小时 / 分钟级节奏的问题&#xff0c;通过精准的时间设置&#xff0c;确保供应与需求的无缝衔接。二、参数定义与默认值参数定义默认值需求…

APS概念-新订单开始日期延迟

一、核心概念解读新订单开始日期延迟是 APS 系统中为新插入的订单预留缓冲时间的参数&#xff0c;它会在订单正式排程前&#xff0c;提前一段固定的小时数来完成文书、采购、准备等前置工作&#xff0c;避免因紧急插单导致的生产混乱。二、关键作用与场景应对紧急插单当客户订单…

APS概念-可承诺量 / 承诺能力拉动容差

一、核心概念解读可承诺量 / 承诺能力拉动容差是 APS 系统在计算 ATP&#xff08;可承诺量&#xff09;和 CTP&#xff08;承诺能力&#xff09;时的关键参数&#xff0c;它定义了系统在寻找最优交付日期时的时间搜索范围&#xff0c;直接影响计划的精准性和计算效率。二、关键…

APS概念-ATP和CTP

一、ATP&#xff08;Available to Promise&#xff0c;可承诺量&#xff09;核心定义&#xff1a;指企业当前库存、在途生产和采购的物料中&#xff0c;尚未被承诺给客户的可用数量。它只关注物料数量&#xff0c;不考虑产能约束。计算逻辑&#xff1a;可用库存 计划生产量 - …

APS概念-供应耗用容差

一、核心概念解读供应耗用容差是 APS 系统中用于处理物料供应与需求时间匹配的灵活规则&#xff0c;它允许系统在物料 “实际可用日期” 之前&#xff0c;提前将供应分配给需求&#xff0c;从而避免因供应与需求日期的微小偏差导致计划中断。二、容差因子的含义容差因子用负数表…

互联网医院系统|互联网医院成品|互联网医院开发

互联网医院系统的兴起&#xff0c;正悄然改变传统医疗服务的边界与模式。通过技术赋能&#xff0c;医疗资源得以跨越时空限制&#xff0c;为患者提供更高效、便捷的诊疗体验。这一系统不仅整合了在线问诊、电子处方、药品配送、慢病管理等核心功能&#xff0c;还通过数据互联打…

干货分享|FPGA、CPU与GPU协同计算架构

随着深度学习和大规模数据处理的需求不断提升&#xff0c;单一计算平台难以满足高效能和低功耗的要求&#xff0c;FPGA、CPU与GPU的协同计算架构为解决这一问题提供了有效途径。通过合理的任务划分与资源调度&#xff0c;三者的协同工作可以最大化硬件资源的利用&#xff0c;优…

太空算力、AI上星与卫星智能化

你有没有想过&#xff0c;当我们仰望星空时&#xff0c;可能正在见证一场堪比移动互联网诞生的革命&#xff1f; 最近&#xff0c;“太空算力”概念突然火了。很多人把它理解成“把服务器搬上天”&#xff0c;但真相远不止这么简单。本篇我们就来系统梳理几个看似熟悉但常被混淆…

2025年毕业论文救星!8款AI写论文工具实测,一键改重降重+高级表达替换,原创度飙升!

毕业论文写作环节多易焦虑?本文实测详解8款AI论文工具,助力高效产出高质量论文。PaperFine可全流程生成低重复率初稿、解析导师意见;TXYZ助力文献阅读;元宝辅助框架搭建;PaperNex适合问卷类论文;ERIC提供免费教育…

基于深度学习的交通锥形桶检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)

摘要:本文介绍了一个基于YOLO系列算法的交通锥形桶检测系统,该系统针对传统道路安全设施检测的痛点问题,实现了多模态检测、模型切换和结果可视化等功能。系统采用PyQt5前端界面和SQLite数据库,支持图片、视频及摄…

问题记录与反思

一、问题复盘 正式版图片不显示问题&#xff1a;小程序开发版、体验版中图片展示正常&#xff0c;但发布至正式版后图片完全不显示。经排查&#xff0c;核心原因是后台返回的图片 src 为 //xxx.png 格式&#xff08;缺失 HTTP/HTTPS 协议&#xff09;&#xff0c;测试环境对协…

Qt 属性绑定(Property Binding)机制提供的完整、详细教程与丰富示例,重点覆盖 Qt 6.x 的现代用法

以下是为 Qt 属性绑定&#xff08;Property Binding&#xff09; 机制提供的完整、详细教程与丰富示例&#xff0c;重点覆盖 Qt 6.x 的现代用法&#xff08;包括 QML C 混合场景&#xff09;。内容从基础到进阶&#xff0c;包含代码、测试方法和常见陷阱说明。 一、Qt 属性绑定…

行政管理大专生经济压力大?考这高性价比证书,副业收入超主业

对于行政管理专业的大专生而言&#xff0c;职业起点多集中于行政助理、文员等岗位。若希望在主业之外拓展发展空间&#xff0c;通过考取适配性强的证书来发展副业&#xff0c;是一个投入可控、能复用专业基础的选择。以下梳理3类适配性强、且具备清晰变现路径的证书&#xff0c…

故障复盘:从“组播协议疑云”到“物理协商真相”——记一次视频流中断的排查之旅

故障复盘&#xff1a;从“组播协议疑云”到“物理协商真相”——记一次视频流中断的排查之旅 &#x1f4fa; 故障现象 一套稳定的视频编码与复用系统&#xff0c;在更换核心交换机后出现异常&#xff1a; 视频编码器&#xff1a;输出MPEG-TS over UDP组播流&#xff08;225.1.1…