关键词:
309.最佳买卖股票时机含冷冻期
思路
- 四种dp 状态:买入,卖出、今日卖出、冷冻
- 初始化只需要将买入的设置为价格负数,其他三个卖出利润都是0
class Solution
public int maxProfit(int[] prices)
int size = prices.length;
if(size == 0) return 0;
// 0 买入 1 卖出状态 2 今天卖出 3 冷冻期
int[][] dp = new int[size][4];
dp[0][0] = -prices[0];
for(int i = 1;i < size;i++)
// 可能是昨天买了、昨天是冷冻期,昨天是卖出状态
dp[i][0] = Math.max(dp[i-1][0],Math.max(dp[i-1][1],dp[i-1][3])- prices[i]);
// 前一天就是卖出、前一天是冷冻期
dp[i][1] = Math.max(dp[i-1][1],dp[i-1][3]);
// 昨天的买入状态 + 今天的股价
dp[i][2] = dp[i-1][0] + prices[i];
// 和昨天的卖出价格相同
dp[i][3] = dp[i-1][2];
// 比较3种卖出的利润
return Math.max(dp[size-1][1],Math.max(dp[size-1][2],dp[size-1][3]));
309.最佳买卖股票时机含冷冻期(代码片段)
给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格。?设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须... 查看详情
309.最佳买卖股票时机含冷冻期dp(代码片段)
给定一个整数数组,其中第?i?个元素代表了第?i?天的股票价格。?设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出... 查看详情
leecode309.最佳买卖股票时机含冷冻期(代码片段)
/*****//sell[i]表示截至第i天,最后一个操作是卖时的最大收益;//buy[i]表示截至第i天,最后一个操作是买时的最大收益;//cool[i]表示截至第i天,最后一个操作是冷冻期时的最大收益;//递推公式://sell[i]=max(buy[i-1]+prices[i],sell[... 查看详情
leetcode刷题python309.最佳买卖股票时机含冷冻期(代码片段)
1题目给定一个整数数组prices,其中第prices[i]表示第i天的股票价格。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第... 查看详情
leetcode309最佳买卖股票时机含冷冻期(动态规划)(代码片段)
又是一道找到了状态转移方程,就可以迎刃而解的问题但是状态转移方程不好找啊分析题目:每一天的四种状态:买进、卖出、冷冻期、什么都不做每天的状态排列遵循:买...卖冷...买...卖冷... 其中...代表什么都不做的日子... 查看详情
309.最佳买卖股票时机含冷冻期(代码片段)
309.最佳买卖股票时机含冷冻期思路四种dp状态:买入,卖出、今日卖出、冷冻初始化只需要将买入的设置为价格负数,其他三个卖出利润都是0classSolutionpublicintmaxProfit(int[]prices)intsize=prices.length;if(size==0)return0;/... 查看详情
leetcode0309.最佳买卖股票时机含冷冻期(代码片段)
【LetMeFly】309.最佳买卖股票时机含冷冻期力扣题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-cooldown/给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格。设计一个算法计算出最大利润。在... 查看详情
309.最佳买卖股票时机含冷冻期(代码片段)
1classSolution23public:4intmaxProfit(vector<int>&prices)56if(prices.size()<2)return0;7intn=prices.size();8vector<vector<int>>dp(n,vector<int>(2,0));910dp[0][0]=0;11dp[0][1]=-prices[0];12dp[1][0]=max(0,-prices[0]+prices[1]);13dp[1][1]=max(-prices[0],-prices[1]);14for(in... 查看详情
力扣309.买卖股拍哦最佳时机含冷冻期(代码片段)
309.最佳买卖股票时机含冷冻期给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格。?设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不... 查看详情
309leetcode状态的转移(代码片段)
最佳买卖股票时机含冷冻期给定一个整数数组,其中第i个元素代表了第i天的股票价格。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同... 查看详情
动态规划股票交易(代码片段)
文章目录1.买卖股票的最佳时机1.1题目1.2分析1.3代码2.买卖股票的最佳时机II2.1题目2.2分析2.3代码3.最佳买卖股票时机含冷冻期3.1题目3.2分析3.3代码4.买卖股票的最佳时机含手续费4.1题目4.2分析4.3代码1.买卖股票的最佳时机1.1题目给... 查看详情
java求解买卖股票时机含冷冻期
...条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票(即冷冻 查看详情
数据结构与算法之深入解析“最好买卖股票的时机含冷冻期”的求解思路与算法示例(代码片段)
...以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票(即冷冻期为1天)。注意:你不能同时参与多笔交易(必须在再次购买前出售掉之前的股票)。示例1:输入:prices=[1,2,... 查看详情
309besttimetobuyandsellstockwithcooldown买股票的最佳时间含冷冻期
Sayyouhaveanarrayforwhichtheithelementisthepriceofagivenstockondayi.Designanalgorithmtofindthemaximumprofit.Youmaycompleteasmanytransactionsasyoulike(ie,buyoneandselloneshareofthestockmultipletimes)wi 查看详情
买卖股票时机含冷冻期(代码片段)
KaTeXparseerror:Undefinedcontrolsequence:\\andatposition205:…1][j],&i\\geq2\\̲a̲n̲d̲̲0\\leqj\\leqi…水过去的时间和空间,不是最优解,标记一下待优化。糟糕的代码#definemaxn10004intdp[maxn][maxn];classSolutionpublic:intmaxProfit(vector<int>&pr... 查看详情
算法:加冷冻期时间的买卖股票309.besttimetobuyandsellstockwithcooldown(代码片段)
309.BestTimetoBuyandSellStockwithCooldownouaregivenanarraypriceswhereprices[i]isthepriceofagivenstockontheithday.Findthemaximumprofityoucanachieve.Youmaycompleteasmanytransactionsasyoulike(i.e.,buyoneandselloneshareofthestockmultipletimes)withthefollowingrestrictions:Afteryousellyourstock,youcannotb... 查看详情
java求解买卖股票时机含冷冻期(代码片段)
...条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票(即冷冻期为1天)。二、题解该... 查看详情
算法:冷却时间买卖股票的最佳时机309.besttimetobuyandsellstockwithcooldown(代码片段)
309.BestTimetoBuyandSellStockwithCooldownYouaregivenanarraypriceswhereprices[i]isthepriceofagivenstockontheithday.Findthemaximumprofityoucanachieve.Youmaycompleteasmanytransactionsasyoulike(i.e.,buyon 查看详情