当前位置: 首页 > article >正文

LeetCode122:买卖股票的最佳时机II

题目链接:122. 买卖股票的最佳时机 II - 力扣(LeetCode)

代码如下

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        //dp[i][0]是持有股份的最大现金, dp[i][1]是不持有股份的最大现金
        if(prices.size() == 0)  return 0;
        vector<vector<int> > dp(prices.size() + 1, vector<int>(2));
        dp[0][0] = dp[0][0] - prices[0];
        dp[0][1] = 0;
        for(int i = 1; i < prices.size(); 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[prices.size() - 1][1];
    }
};

这个题目实际上和LeetCode121一样的,区别就在于这个题目要求的是多次,121那个题目是一次,其实我们想想,多次,那么之前的一定是不持有股票且有利润的,而121那个题目是,刚开始钱为0的时候减去price[i],但是这个题目已经是获得利润了,所以是dp[i - 1][1] - prices[i];


http://www.kler.cn/news/362005.html

相关文章:

  • ubuntu2204配置cuda
  • 《黑神话悟空》各章节boss顺序汇总
  • [Vue3核心语法] ref、reactive响应式数据
  • leetcode day3 1+14+15
  • 5. AOP
  • Golang 并发编程入门:Goroutine 简介与基础用法
  • 力扣力扣力:206. 反转链表
  • java项目结构说明
  • scrapy的xpath在控制台可以匹配,但是到了代码无法匹配(无法匹配tbody标签)
  • 金融行业:办公安全防护专属攻略
  • 三、MyBatis实践(2):MyBatis基本使用
  • 中国云厂出海:如何绕过暗礁,找到宝藏?
  • 10·24程序员节的思考:代码编织梦想,技术点亮未来
  • HBuilder X 中Vue.js基础使用1(三)
  • Vue学习一
  • 萤石云服务支持云端视频AI自动剪辑生成
  • 前端-基础CSS总结常用
  • LTE 基于快速hadamard变换FHT SSS辅同步信号检测之--M序列与hadamard变换的关系
  • uniapp修改input中placeholder样式
  • 学习笔记——交换——STP(生成树)桥协议数据单元(BPDU)
  • HTTPS关键考点(HTTPS Key Exam Points)
  • VOIDMAW:一种可用于绕过内存扫描器的新技术
  • [单调栈] 统计点数
  • 如何使用 matplotlib 在 Python 3 中绘制数据
  • 定制开发 AI 智能名片 S2B2C 商城系统小程序:选择靠谱第三方开发商的重要性
  • 给el-dialog的整体加动态class