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

哪个网站免费做简历怎么用照片制作小视频

哪个网站免费做简历,怎么用照片制作小视频,深圳网站建设企业,西宁专业制作网站一、121. 买卖股票的最佳时机 题目链接:121. 买卖股票的最佳时机 - 力扣(LeetCode) 文章讲解:代码随想录 (programmercarl.com)——121. 买卖股票的最佳时机 视频讲解:动态规划之 LeetCode:121.买卖股票的最…

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

题目链接:121. 买卖股票的最佳时机 - 力扣(LeetCode)
文章讲解:代码随想录 (programmercarl.com)——121. 买卖股票的最佳时机
视频讲解:动态规划之 LeetCode:121.买卖股票的最佳时机1_哔哩哔哩_bilibili

动态规划五部曲:

1. 确定 dp 数组及下标含义:dp[ i ][ 0 ] 表示持有这支股票得到最大的现金,dp[ i ][ 1 ] 表示不持有这支股票得到的最大的现金。由于卖出手头的钱一定比买入多,所以结果为 dp[ -1 ][ 1 ]
2. 确定递推公式:
dp[ i ][ 0 ] = max(dp[ i - 1 ][ 0 ], -price[ i ]),i 天之前就持有这支股票 和 第 i 天买入这支股票的最大值;
dp[ i ][ 1 ] = max(dp[ i - 1 ][ 0 ] + peice[ i ], dp[ i - 1][ 1 ]),i - 1天之前就持有这支股票并在第 i 天卖了 和 i 天之前就不持有这支股票的最大值。
3. 确定dp数组如何初始化:dp[ 0 ][ 0 ] = - price[ 0 ], dp[ 0 ][ 1 ] = 0
4. 确定遍历顺序:依赖前一个状态,从前往后遍历,其实为第二个价格
5. 举例推导dp数组。

class Solution:def maxProfit(self, prices: List[int]) -> int:# 创建dp数组dp = [[0] * 2 for _ in range(len(prices))]# 初始化dp[0][0] = -prices[0]dp[0][1] = 0for i in range(1, len(prices)):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)
文章讲解:代码随想录 (programmercarl.com)——122.买卖股票的最佳时机II
视频讲解:动态规划,股票问题第二弹 | LeetCode:122.买卖股票的最佳时机II_哔哩哔哩_bilibili

Note:与上一题唯一的区别是由于股票可以买卖多次,dp[ i ][ 0 ] 中需要考虑 i - 1 天之前获得的利润,即 dp[ i ][ 0 ] = max(dp[ i - 1 ][ 0 ], dp[ i - 1][ 1 ] - price[ i ]),其余部分完全一致。

class Solution:def maxProfit(self, prices: List[int]) -> int:# 创建dp数组dp = [[0] * 2 for _ in range(len(prices))]# 初始化dp[0][0] = -prices[0]dp[0][1] = 0for i in range(1, len(prices)):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

题目链接:123. 买卖股票的最佳时机 III - 力扣(LeetCode)
文章讲解:代码随想录 (programmercarl.com)——123.买卖股票的最佳时机III
视频讲解:动态规划,股票至多买卖两次,怎么求? | LeetCode:123.买卖股票最佳时机III_哔哩哔哩_bilibili

动态规划五部曲:

1. 确定 dp 数组及下标含义:dp[ i ][ 0 ] 表示不操作,dp[ i ][ 1 ] 表示第一次持有,
dp[ i ][ 2 ] 表示第一次不持有,dp[ i ][ 3 ] 表示第二次持有,dp[ i ][ 4 ] 表示第二次不持有,i 为第 i 天。由于卖出手头的钱一定比买入多且第二次卖出包含第一次卖出,所以最后输出 dp[ -1 ][ 4 ]。
2. 确定递推公式:
dp[ i ][ 0 ] = dp[ i-1 ][ 0 ]
dp[ i ][ 1 ] = max(dp[ i - 1 ][ 1 ], dp[ i-  1][ 0 ] - price[ i ]),可以保持前一天,也可以前一天不持有今天买入,即第一次持有
dp[ i ][ 2 ] = max(dp[ i - 1 ][ 2 ], dp[ i - 1][ 1 ] + price[ i ]),可以保持前一天,也可以前一天第一次持有今天卖出,即第一次卖出
dp[ i ][ 3 ] = max(dp[ i - 1 ][ 3 ], dp[ i -1 ][ 2 ] - price[ i ]),可以保持前一天,也可以前一天第一次不持有今天买入,即第二次持有
dp[ i ][ 4 ] = max(dp[ i - 1 ][ 4 ], dp[ i -1 ][ 3 ] + price[ i ]),可以保持前一天,也可以前一天第第二次持有今天卖出,即第二次卖出
3. 确定dp数组如何初始化:dp[ 0 ][ 0 ]  = 0, dp[ 0 ][ 1 ] = -price[ 0 ], dp[ 0 ][ 2 ] = 0(理解为同一天买卖), dp[ 0 ][ 3 ] = -price[ 0 ], dp[ 0 ][ 4 ] = 0
4. 确定遍历顺序:正序遍历。
5. 举例推导dp数组。

class Solution:def maxProfit(self, prices: List[int]) -> int:# 创建dp数组dp = [[0] * 5 for _ in range(len(prices))]# 初始化dp[0][0] = 0dp[0][1] = -prices[0]dp[0][2] = 0dp[0][3] = -prices[0]dp[0][4] = 0for i in range(1, len(prices)):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://www.yayakq.cn/news/116274/

相关文章:

  • 苏州 网站的公司哪家好网站网页的书签怎么做
  • 大学生对校园网站建设的需求是什么网站整套模板项目代码下载
  • 杭州网站排名优化虚拟主机和vps的区别
  • 吉安网站建设典型的企业网站
  • 邢台企业做网站wordpress自己写特效
  • 保定高碑店网站建设海东市网站建设
  • 网站后台安全密码网络营销方式单一的原因
  • 普通网站跟营销型网站的对比wordpress 文档模板下载
  • 中国做铁塔的公司网站如何做好网站建设工作
  • 建设网站的模板下载青岛网上房地产
  • 小企业如何建网站友情链接对网站的作用
  • 网络营销推广方法及策略选择百度推广优化
  • 更改网站文章上传时间wordpress js 代码编辑器
  • 无锡网站建设wuxi8878wordpress和wiki
  • 网站需要怎么做的吗优质做网站哪家好
  • wordpress建立企业网站仓库管理系统界面
  • 务川自治县建设局网站樟木头镇网站仿做
  • 如何建立学校网站莱州网页设计公司
  • 网站权重与排名浅谈wordpress 评论ip拉黑
  • server 2008 iis部署网站营销方案设计
  • 社科联网站建设情况汇报免费的网站建设
  • 根据网站集约化建设要求建筑公司发展规划
  • 到哪里查网站备案信息十堰seo推广
  • 个人网站命名技巧景德镇网站建设景德镇
  • 免费网站安全软件下载安装怎么申请免费网址
  • 门户网站用什么后台系统好电子政务网站建设的步骤一般为
  • 网站没有备案信息该怎么做如何选择丹徒网站建设
  • 慈溪电商网站建设公司商务网站建设需要备案吗
  • 洛阳建设局网站一个好网站
  • 制作精美网站建设服务周到电商产品开发员有前景吗