day49 动规.p10 买卖股票

这篇具有很好参考价值的文章主要介绍了day49 动规.p10 买卖股票。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

`dp[i][0]` 第i天持有股票所得到最多钱的情况
`dp[i][1]` 不持有股票所得到最多钱的情况

- 121. 买卖股票的最佳时机
```cpp
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        if (prices.size() == 1) return 0;
        vector<vector<int>> dp(prices.size(), vector<int>(2));
        // 0持有 1不持有
        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], -prices[i]);
            dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] + prices[i]);
        }
        return dp[prices.size() - 1][1];
    }
};
```

- 122.买卖股票的最佳时机II
```cpp
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        if (prices.size() == 1) return 0;
        vector<vector<int>> dp(prices.size(), vector<int>(2));
        // 0持有 1不持有
        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];
    }
};
```文章来源地址https://www.toymoban.com/news/detail-683844.html

到了这里,关于day49 动规.p10 买卖股票的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • day 43 | ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV

    ● 188.买卖股票的最佳时机IV 和买卖股票3中的思路一样,只不过从两次换成了k次

    2024年02月10日
    浏览(31)
  • 算法练习Day50|● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV

    LeetCode:123.买卖股票的最佳时机III 123. 买卖股票的最佳时机 III - 力扣(LeetCode) 1.思路 将两次买入卖出转化为是否持有的状态,当天可进行两次买卖,故每天买卖有四种状态,四种状态包含了当天不买不卖的状态。 2.代码实现 3.复杂度分析 时间复杂度:O(n). 空间复杂度:O(1

    2024年02月12日
    浏览(33)
  • java算法day50 | ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV

    思路: 这道题的关键就是如何设置dp数组的状态。用五种状态表示对股票持有或售出的不同阶段。代码随想录讲解视频 时间复杂度:O(n) 空间复杂度:O(n × 5) 思路: 在上一题2次的基础上变为k次。可以发现规律:除了0以外,偶数就是卖出,奇数就是买入。 因此dp数组的维度

    2024年04月11日
    浏览(32)
  • 算法刷题Day 51 最佳买卖股票时机含冷冻期+买卖股票的最佳时期含手续费

    关键是要画出状态转移图 然后根据状态转移图来写状态转移方程 这道题其实就是在买卖股票II的基础上加入一点变化而已,代码框架还是那个框架。

    2024年02月15日
    浏览(31)
  • 团灭 LeetCode 股票买卖问题

    这几道题目是有共性的,我们只需要抽出来力扣第 188 题「188. 买卖股票的最佳时机 IV - 力扣(LeetCode)」进行研究,因为这道题是最泛化的形式,其他的问题都是这个形式的简化,看下题目: 第一题是只进行一次交易,相当于 k = 1 ;第二题是不限交易次数,相当于 k = +infi

    2024年02月21日
    浏览(25)
  • 动态规划(day11)买卖股票问题进阶

    目录 123.买卖股票的最佳时机III 看到题目的第一想法                看到代码随想录之后的想法 自己实现过程中遇到的困难 188.买卖股票的最佳时机IV 看到题目的第一想法                看到代码随想录之后的想法 自己实现过程中遇到的困难 力扣题目链接(opens new windo

    2024年01月21日
    浏览(46)
  • 代码训练LeetCode(15)买卖股票

    代码训练(15)LeetCode之买卖股票 Author: Once Day Date: 2024年4月22日 漫漫长路,才刚刚开始… 全系列文章可参考专栏: 十年代码训练_Once-Day的博客-CSDN博客 参考文章: 122. 买卖股票的最佳时机 II - 力扣(LeetCode) 力扣 (LeetCode) 全球极客挚爱的技术成长平台 1. 原题 给你一个整数数组

    2024年04月27日
    浏览(18)
  • [Leetcode] 买卖股票合集(动态规划)

    写完这套题,再搞一台时光机,财务自由不是梦(Doge) ================================== 相关题目链接 121 买卖股票的最佳时机 122 买卖股票的最佳时机 II 123 买卖股票的最佳时机 III 188 买卖股票的最佳时机 IV 309 买卖股票的最佳时机含冷冻期 714 买卖股票的最佳时机含手续费 给定一

    2023年04月16日
    浏览(31)
  • 《LeetCode》—— 买卖股票的最佳时机

    本期,我将给大家讲解的是有关动态规划类的题—— 买卖股票的最佳时机 。这个系列总共有四道题。接下来,让我们一起去看看!!! 目录 (一)买卖股票的最佳时机 (二)买卖股票的最佳时机 II (三)买卖股票的最佳时机 III (四)买卖股票的最佳时机 IV LeetCode题目链

    2024年02月05日
    浏览(38)
  • 【LeetCode股票买卖系列:309. 最佳买卖股票时机含冷冻期 | 暴力递归=>记忆化搜索=>动态规划】

    🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文

    2024年02月02日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包