news 2026/2/17 2:21:42

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣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]; }

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/10 12:56:54

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

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

作者头像 李华
网站建设 2026/2/6 9:14:44

问题记录与反思

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

作者头像 李华
网站建设 2026/2/5 11:26:54

告别信息孤岛,商联达让总部-区域-门店数据实时同频

在消费市场日益多元、连锁经营规模持续扩张的今天&#xff0c;“总部统筹全局区域灵活适配门店精准落地”成为企业突围的核心诉求。然而&#xff0c;传统经营模式下&#xff0c;数据割裂形成的“信息孤岛”&#xff0c;却成为制约企业发展的隐形壁垒&#xff1a;总部难以及时掌…

作者头像 李华
网站建设 2026/2/7 18:53:34

UI自动化测试:Jenkins配置详解

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 团队下半年的目标之一是实现自动化测试&#xff0c;这里要吐槽一下&#xff0c;之前开发的测试平台了&#xff0c;最初的目的是用来做接口自动化测试和性能测试…

作者头像 李华
网站建设 2026/2/6 20:48:48

商城系统代运维里最常见、最容易踩、踩了就很痛的坑

商城系统代运维常见坑&#xff08;实战版&#xff09; 1) 备份只做不验&#xff08;最致命&#xff09; 现象&#xff1a;每天都备份&#xff0c;但真正需要恢复时发现备份损坏、权限不对、路径不对、数据不完整。后果&#xff1a;恢复失败 → 数据丢失 → 业务停摆。原因&…

作者头像 李华
网站建设 2026/2/10 22:52:26

碳足迹精准计量,华为FusionSolar助力云服务器绿色运维

“双碳”目标下&#xff0c;企业对云服务器的碳排放管控需求日益迫切&#xff0c;但传统数据中心碳排放统计多停留在机房层面&#xff0c;缺乏服务器级、CPU核级的精准计量手段&#xff0c;碳排放来源无法精准定位&#xff0c;绿色运维陷入“模糊化”困境。同时&#xff0c;不同…

作者头像 李华