309.最佳买卖股票时机含冷冻期(代码片段)

HardyDragon_CC HardyDragon_CC     2023-03-20     268

关键词:

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 查看详情