day 42 第九章 动态规划part09 188.买卖股票的最佳时机IV 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费

今日感悟:细节决定成败,一定要尽可能地想到每道题的每一个细节,从而理解清楚一道题。

任务日期:7.17

题目一链接188. 买卖股票的最佳时机 IV - 力扣(LeetCode)

思路:本题在第三个买卖股票类型上升级为最多可以买卖k次股票。由于**最多**买卖k次的dp数组状态有2 * k + 1个(因为进行零次买卖的状态是零),所以要求我们区分偶数(不持有股票)状态和技术(持有股票)状态的区别从而进行初始化和遍历dp数组。

代码:

class Solution {
public:
    int maxProfit(int k, vector<int>& prices) {
        int len = prices.size();
        vector<vector<int>> dp(len,vector<int>(2 * k + 1,0));//dp[][0]:状态零是不进行操作的最大现金,因此dp数组的值都是零
        //初始化dp数组:第零天的奇数状态是持有,偶数状态是不持有
        for(int i = 1;i < 2 * k + 1;i += 2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值