力扣【动态规划】121题

1001-高同学

发表文章数:265

首页 » 算法 » 正文

题目连接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/
这道题有个关键问题需要明白:就是交易次数
由于本题中K要么是0,要么是1。0表示没有进行过交易,1表示进行过交易。那么当持有股票的时候,要么是上一次持有股票,要么是第一次持有股票。

代码:

#include
using namespace std;
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int len = prices.size();
        int dp[len][2];
        memset(dp, 0, sizeof(dp));
        dp[0][0] = 0;
        dp[0][1] = -prices[0];
        for(int i=1; i<len; i++){
            dp[i][0] = max(dp[i-1][0], dp[i-1][1]+prices[i]);
            dp[i][1] = max(dp[i-1][1], -prices[i]);
        }
        return dp[len-1][0];
    }   
};

拜师教育学员文章:作者:1001-高同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《力扣【动态规划】121题》 发布于2022-01-27

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录