- class Solution {
- public:
- int maxProfit(vector<int>& prices) {
- int n=prices.size();
- vector
int>>dp(n,vector<int>(2)); - dp[0][0]=-prices[0];
- dp[0][1]=0;
-
- for(int i=1;i
- 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[n-1][1];//最后肯定不持有利润最大
- }
- };
122.买卖股票的最佳时机||(拿捏)
思路一:贪心
- 只要有利润增长就卖出,最后一定获得最大利润
思路二:动态规划
1.dp存储:dp[i][0]为持有 dp[i][1]为不持有
2.状态转移方程(递推式):
- 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 ] ) 之前没持有/现在卖出(上一次持有的金额 + 卖出的金额)
3.初始化:dp[0][0]=-prices[0] dp[0][1]=0
4.遍历顺序:1-n
- class Solution {
- public:
- int maxProfit(vector<int>& prices) {
- int n=prices.size();
- vector
int>>dp(n,vector<int>(2)); - dp[0][0]=-prices[0];
- dp[0][1]=0;
- for(int i=1;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];
-
- }
- };
123.买卖股票的最佳时机|||
思路:动态规划(5个状态)
- class Solution {
- public:
- int maxProfit(vector<int>& prices) {
- int n=prices.size();
- vector
int>>dp(n,vector<int>(5,0)); - dp[0][1]=-prices[0];
- dp[0][3]=-prices[0];
-
- for(int i=1;i
- 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[n-1][4];
- }
- };
-
相关阅读:
java压缩pdf体积,图片体积
SSD【目标检测篇】
cookie以及Storage的共同点、区别与使用
有效提升Python代码性能的三个层面
数据可视化工具在成绩分析中的作用与意义
记录一些遇到的数学概念
Win11如何优化服务?Win11优化服务的方法
Golang之双向认证
xen-uart
第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 试题 C: 班级活动
-
原文地址:https://blog.csdn.net/Ricardo_XIAOHAO/article/details/132825061
-
最新文章
-
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU