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

算法D48 | 动态规划10 | 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II

股票问题是一个动态规划的系列问题,今日安排的题目不多,大家可以慢慢消化。

121. 买卖股票的最佳时机 

视频讲解:https://www.bilibili.com/video/BV1Xe4y1u77q

https://programmercarl.com/0121.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA.html

Python:

class Solution:def maxProfit(self, prices: List[int]) -> int:n = len(prices)dp = [[0, 0] for _ in range(n)]dp[0][0] = -prices[0]dp[0][1] = 0for i in range(1, n):dp[i][0] = max(dp[i-1][0], -prices[i]) # 持有股票所得现金dp[i][1] = max(dp[i-1][1], prices[i]+dp[i-1][0]) # 不持有股票所得现金return dp[n-1][1]

C++:

class Solution {
public:int maxProfit(vector<int>& prices) {int n = prices.size();vector<vector<int>> dp(n, vector<int>(2));dp[0][0] = -prices[0];dp[0][1] = 0;for (int i=1; i<n; i++) {dp[i][0] = max(dp[i-1][0], -prices[i]);dp[i][1] = max(dp[i-1][1], prices[i]+dp[i-1][0]);}return dp[n-1][1];}
};

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

视频讲解:https://www.bilibili.com/video/BV1D24y1Q7Ls

https://programmercarl.com/0122.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BAII%EF%BC%88%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%EF%BC%89.html

Python:

class Solution:def maxProfit(self, prices: List[int]) -> int:n = len(prices)dp = [[0, 0] for _ in range(n)]dp[0][0] = -prices[0]dp[0][1] = 0for i in range(1, n):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[n-1][1]

C++:

class Solution {
public:int maxProfit(vector<int>& prices) {int n = prices.size();vector<vector<int>> dp(n, vector<int>(2, 0));dp[0][0] = -prices[0];dp[0][1] = 0;for (int i=1; i<n; i++) {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[n-1][1];}
};

http://www.lryc.cn/news/319980.html

相关文章:

  • Windows10安装RubyRails步骤
  • Sqlserver 模糊查询中文及在mybatis xml【非中文不匹配查询】N@P2问题
  • 旧华硕电脑开机非常慢 电脑开机黑屏很久才显示品牌logo导致整体开机速度非常的慢怎么办
  • 【go语言开发】性能分析工具pprof使用
  • ARM_基础之RAS
  • VScode(1)之内网离线安装开发环境(VirtualBox+ubuntu+VScode)
  • Python爬虫与数据可视化源码免费领取
  • Android Studio 打包 Maker MV apk 详细步骤
  • react中hooks使用限制
  • 2024抖音矩阵云混剪系统源码 短视频矩阵营销系统
  • 力扣题目训练(22)
  • [ROS 系列学习教程] rosbag Python API
  • TCL管理Vivado工程
  • R语言:microeco:一个用于微生物群落生态学数据挖掘的R包,第四:trans_beta class
  • Excel文件导入导出,SpringBoot整合EasyExcel批量导入导出,采用的JDBC+EasyExcel(附带整个Demo)
  • Git——本地使用详解
  • 深度学习pytorch——Tensor维度变换(持续更新)
  • Selenium-webdriver_manager判断是否已经下载过驱动(复用缓存驱动)
  • 【SQL】1174. 即时食物配送 II (窗口函数row_number; group by写法;对比;定位错因)
  • mvcc介绍
  • 强化PaaS平台应用安全:关键策略与措施
  • K8s 集群高可用master节点ETCD挂掉如何恢复?
  • 【Godot 4.2】常见几何图形、网格、刻度线点求取函数及原理总结
  • 如何利用POI导出报表
  • 自动部署SSL证书到阿里云腾讯云CDN
  • 【系统性】 循序渐进学C++
  • rust - 一个日志缓存记录的通用实现
  • elasticsearch(RestHighLevelClient API操作)(黑马)
  • 用尾插的思想实现移除链表中的元素
  • 【Kubernetes】k8s删除master节点后重新加入集群