Java如何通过动态规划设计股票买卖最佳时机


本文小编为大家详细介绍“Java如何通过动态规划设计股票买卖最佳时机”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何通过动态规划设计股票买卖最佳时机”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 免费云主机域名未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例:因为对每一天只有两个状态,买入股票和卖出股票,因此定义 dp[][2]1. dp[i][2] 数组表示的含义 :dp[i][0] 表示第 i 天买入股票能获得的最大利润,dp[i][1] 表示第一天卖出股票能获得的最大利润2. 状态转移方程:解释: 第 i 天对买入股票状态,只有两种操作,买入股票或者不买股票。因此,第 i 天能获得的最大利润为 第 i 天不买股票(dp[i-1][0]) 和 第 i 天买入股票(-prices[i]) 的利润的最大值。解释: 第 i 天对卖出股票,只有两种操作,卖出股票或者不卖出股票。因此,第 i 天能获得的最大利润为 第 i 天卖出股票 (dp[i-1][0] + prices[i])和 第 i 天不卖出股票 的利润的最大值 (dp[i-1][1])3. 初始化第 0 天买入,得到的利润为 -price[0]第 0 天卖出,得到的利润为 0代码:变式一: 可以重复买入,卖出变式二:可以执行买入卖出操作两次变式三:可以执行买卖操作 K 次变式四:含冷冻期变式五:含手续费读到这里,这篇“Java如何通过动态规划设计股票买卖最佳时机”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: vue路由属性有哪些及作用是什么

这篇文章主要介绍“vue路由属性有哪些及作用是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue路由属性有哪些及作用是什么”文章能帮助大家解决问题。vue路由属性有以下常见的几种1.to属性vue路由中to属性的…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/16 16:29
下一篇 02/16 16:30

相关推荐