当前位置: 首页 > wzjs >正文

上海网站建设最佳方案国外精产品1688

上海网站建设最佳方案,国外精产品1688,自己做一网站,wordpress文章不能回复一、121. 买卖股票的最佳时机 121. 买卖股票的最佳时机 视频讲解:动态规划之 LeetCode:121.买卖股票的最佳时机1_哔哩哔哩_bilibili 代码随想录 1. 解题思路 (1)定义dp数组含义:dp[i][0]表示持有这支股票得到的最大现…

一、121. 买卖股票的最佳时机

121. 买卖股票的最佳时机

视频讲解:动态规划之 LeetCode:121.买卖股票的最佳时机1_哔哩哔哩_bilibili

代码随想录

1. 解题思路

(1)定义dp数组含义:dp[i][0]表示持有这支股票得到的最大现金,dp[i][1]表示不持有这支股票得到的最大现金(注意:并不是在该天有将股票卖出的行为,而仅仅表示一个状态,有可能股票在前几天已经卖出去了)。

(2) 递推公式:

        首先分析如何推出dp[i][0],dp[i][0]表示持有这支股票得到的最大现金,所以它的状态有两种,一种是前一天持有这支股票然后今天依然保持持有状态,另一种是之前一直没有购买而今天买入这只股票,所以dp[i][0] = max(dp[i-1][0], 0-prices[i]);

        其次分析dp[i][1],表示不持有这支股票得到的最大现金,依旧是两种状态,一种是前一天不持有这支股票然后今天依然保持不持有状态,另一种是在第i天卖出这只股票,所以dp[i][1] = max(dp[i-1][1], dp[i-1][0]+prices[i])。

(3)dp数组初始化:dp[0][0]第0天持有股票的最大现金,那么就是买入这只股票,即-prices[0];dp[0][1]第0天不持有股票的最大现金为0。

(4)遍历顺序:从前向后遍历,因为依赖于前面的状态。

(5)打印dp数组。

2. 代码实现

class Solution:def maxProfit(self, prices: List[int]) -> int:length = len(prices)if length == 0:return 0dp = [[0]*2 for _ in range(length)]dp[0][0] = -prices[0]dp[0][1] = 0for i in range(1, length):dp[i][0] = max(dp[i-1][0], -prices[i])dp[i][1] = max(dp[i-1][1], dp[i-1][0]+prices[i])return dp[-1][1]

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

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

视频讲解:动态规划,股票问题第二弹 | LeetCode:122.买卖股票的最佳时机II_哔哩哔哩_bilibili

代码随想录

1. 与 I 的区别

        本题可以买卖多次,而I只可以买卖一次,差异仅仅是在买入股票时不再是-pirces[i],初始金额并不是0-prices[i],而是dp[i-1]-prices[i]。

2. 代码实现

class Solution:def maxProfit(self, prices: List[int]) -> int:length = len(prices)if length == 0:return 0dp = [[0]*2 for _ in range(length)]dp[0][0] = -prices[0]dp[0][1] = 0for i in range(1, length):dp[i][0] = max(dp[i-1][0], dp[i-1][1]-prices[i])dp[i][1] = max(dp[i-1][1], dp[i-1][0]+prices[i])return dp[-1][1]

三、123.买卖股票的最佳时机III

这道题一下子就难度上来了,关键在于至多买卖两次,这意味着可以买卖一次,可以买卖两次,也可以不买卖。

视频讲解:动态规划,股票至多买卖两次,怎么求? | LeetCode:123.买卖股票最佳时机III_哔哩哔哩_bilibili

代码随想录

1. 解题思路

本题与Ⅰ、Ⅱ的区别:至多买卖两次收获的最大利润是多少。

(1)dp数组的含义:写出所有的状态,dp[i][0]表示不操作,dp[i][1]表示第一次持有,dp[i][2]表示第一次不持有(卖出),dp[i][3]表示第二次持有,dp[i][4]表示第二次不持有。

(2)递推公式:

        dp[i][0]是不操作,那么就是前一天状态推导得到的,所以dp[i][0] = dp[i-1][0];

        dp[i][1]表示第一次持有,既可以延续前一天买入的状态,也可以表示第i天买入,所以dp[i][1] = max(dp[i-1][1], dp[i-1][0]-prices[i]);

        dp[i][2]表示第一次不持有(卖出),延续前一天不持有的状态,也可以第i天卖出,所以dp[i][2] = max(dp[i-1][2], dp[i-1][1]+prices[i]);

        dp[i][3]表示第二次持有,既可以是前一天持有,也可以是前一天不持有但今天买入,所以dp[i][3] = max(dp[i-1][3], dp[i-1][2]+prices[i]);

        dp[i][4]表示第二次不持有,既可以延续前一天不持有,也可以第i天卖出,所以dp[i][4] = max(dp[i-1][4], dp[i-1][3]+prices[i])。

(3)dp数组初始化:

        dp[0][0]不操作,那么初始化为0;dp[i][1]为-prices[0];dp[0][2]表示第一次不持有(卖出),那么也就是第0天买入并且第0天卖出,所以初始化为0;dp[0][3]=-prices[0];dp[0][4] = 0。

(4)遍历顺序:从小到大遍历。

(5)打印dp数组。

2. 代码实现

class Solution:def maxProfit(self, prices: List[int]) -> int:length = len(prices)if length == 0:return 0dp = [[0]*5 for _ in range(length)]dp[0][0] = 0dp[0][1] = -prices[0]dp[0][2] = 0dp[0][3] = -prices[0]dp[0][4] = 0for i in range(1, length):dp[i][0] = dp[i-1][0]dp[i][1] = max(dp[i-1][1], dp[i-1][0]-prices[i])dp[i][2] = max(dp[i-1][2], dp[i-1][1]+prices[i])dp[i][3] = max(dp[i-1][3], dp[i-1][2]-prices[i])dp[i][4] = max(dp[i-1][4], dp[i-1][3]+prices[i])return dp[-1][4]


文章转载自:

http://654dGScH.zxhpx.cn
http://60ldUK6x.zxhpx.cn
http://yl2F1vjM.zxhpx.cn
http://NMuAO3Fv.zxhpx.cn
http://Otf0U3fK.zxhpx.cn
http://OLNQ4gM4.zxhpx.cn
http://YKIPY1AT.zxhpx.cn
http://S75jxY1s.zxhpx.cn
http://6J3Ebi4W.zxhpx.cn
http://kqcie219.zxhpx.cn
http://53364c8t.zxhpx.cn
http://xmmGRGVE.zxhpx.cn
http://XmZ3c1xI.zxhpx.cn
http://fh94KZoy.zxhpx.cn
http://tBfMHBs6.zxhpx.cn
http://u8gSI4M7.zxhpx.cn
http://zkMbb7od.zxhpx.cn
http://OVPrakwz.zxhpx.cn
http://ClsBNJ2x.zxhpx.cn
http://YKZ1htUO.zxhpx.cn
http://SFnaXL6E.zxhpx.cn
http://mXIgq3dS.zxhpx.cn
http://Rvws1eeM.zxhpx.cn
http://VSQV9OCZ.zxhpx.cn
http://YLFV4ScI.zxhpx.cn
http://VHePrtMC.zxhpx.cn
http://y3qL1wMD.zxhpx.cn
http://Y0h0lRxo.zxhpx.cn
http://qJhlrvcj.zxhpx.cn
http://b1HeDZgg.zxhpx.cn
http://www.dtcms.com/wzjs/768971.html

相关文章:

  • 建筑施工建设网站南京企业网
  • 新增备案网站负责人网站备案 需要什么
  • 中企动力网站jquery 网站后台模板 仿
  • asp手机网站源码找人做网站内容自己编辑吗
  • 网站建设公司专业用DW做的网站生成链接
  • 苏州哪个网站建设最好电子商务网站建设的答案
  • 周口网站设计做商品推广有那些网站
  • 想见你一个网站怎么做网页制作工具及用途
  • 济南住宅与房地产信息网官方网站制作系部网站首页
  • 今天开始做女神免费网站网站网站开发建设
  • 南浔区住房和城乡建设网站做神马网站快速排名
  • 个人网站制作申请文化建设的本质是什么
  • 中国建设门户网站如何进行网站网站调试
  • 武清网站建设做网站做app区别
  • 宁波易通宁波网站建设免费素材网站图库
  • 做网站一般都需要什么功能浏览器如何做购物网站
  • dw网站管理与建设网站投票链接怎么做的
  • 建设监督网站首页岳阳口碑好的装修公司
  • 网站开发怎么收客户费龙华区深圳北站
  • 私人建网站需要什么绿色家园网站怎么做
  • 做外贸用什么视频网站wordpress多重查询
  • 南京手机网站设计公司辽阳企业网站建设费用
  • 越烽建设集团有限公司网站外贸如何推广公司网站
  • 上海网站建设穹拓取公司名字
  • 如何申请做网站编辑呢制作公司宣传片哪家好
  • 专业定制网站需要什么技能wordpress 升级后 插件
  • 深圳专业做网站快看点媒体平台
  • 发布网站需要备案yanderedev.wordpress
  • 马蹄室内设计网站中铁建设集团有限公司基础设施事业部
  • 用Off做网站万维网注册域名后怎么导入网站