首页 > 其他分享 >买卖股票的最佳时机二

买卖股票的最佳时机二

时间:2023-01-12 22:22:07浏览次数:39  
标签:现金 买卖 股票 len 最佳时机 所得 prices dp

image

导读 ^ _ ^

买股票的系列问题二!
这次股票的限制是每天最多只能持有一支股票,可以多次进行买卖操作,最大化利益。

题目

leetcode 122
image.png

代码与思路

dp数组的含义:

  • dp[i][0] 表示第i天持有股票所得现金。
  • dp[i][1] 表示第i天不持有股票所得最多现金

dp[i][0], 那么可以由两个状态推出来

  • 第i-1天就持有股票,那么就保持现状,所得现金就是昨天持有股票的所得现金 即:dp[i - 1][0]
  • 第i天买入股票,所得现金就是昨天不持有股票的所得现金减去 今天的股票价格 即:dp[i - 1][1] - prices[i]

dp[i][1]的情况, 依然可以由两个状态推出来

  • 第i-1天就不持有股票,那么就保持现状,所得现金就是昨天不持有股票的所得现金 即:dp[i - 1][1]
  • 第i天卖出股票,所得现金就是按照今天股票佳价格卖出后所得现金即:prices[i] + dp[i - 1][0]
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int len = prices.size();
        vector<vector<int>> dp(len, vector<int>(2, 0));
        dp[0][0] -= prices[0];
        dp[0][1] = 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], dp[i - 1][0] + prices[i]);
        }
        return dp[len - 1][1];//答案
    }
};

#谢谢你的观看!

^ _ ^

标签:现金,买卖,股票,len,最佳时机,所得,prices,dp
From: https://www.cnblogs.com/HX-Note/p/17048108.html

相关文章

  • LeetCode刷题(41)~买卖股票的最佳时机
    题目描述给定一个数组,它的第i个元素是一支给定股票第i天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意......
  • 买卖股票的最佳时机
    导读^_^开更买股票的系列问题咯!这次股票的限制是买卖只能一次,求最大化利益。题目leetcode121代码与思路贪心思路因为股票就买卖一次,那么贪心的想法很自然就是......
  • 【动态规划】股票买卖问题
    目录股票买卖问题简介应用应用1:Leetcode.121题目分析边界条件状态转移代码实现应用2:Leetcode.122题目分析边界条件状态转移代码实现应用3:Leetcode.123题目分析边界条件状态......
  • 122. 买卖股票的最佳时机II
    问题链接https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/解题思路买卖股票,本质上就是低价买入,高价卖出。我们可以用模拟法,不断的去找到......
  • R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列|附代码数据
    原文链接:http://tecdat.cn/?p=23934最近我们被客户要求撰写关于ARIMA-GARCH的研究报告,包括一些图形和统计输出。在本文中,我们将尝试为苹果公司的日收益率寻找一个合适的......
  • 股票和公司盈利的三种方式类比
    最近看了刘润的《底层逻辑2》讲到了公司盈利的三种方式:能力,速度、倍数;这三种方式和股票竟然有异曲同工之妙;原来世间万物的之间的原理都是通的。​能力,公司盈利的第一种方......
  • 道长的算法笔记:状态机模型之股票系列问题
    (一)股票系列问题所谓的股票问题,是一个动态规划状态机模型的系列问题,这些题目来自于LeetCode社区,这些问题非常经典,能够帮助我们理解动态规划的本质,这些问题大多初看之......
  • Python爬取往期股票数据,分析中奖规律!
    快过年了,手头有点紧,但是作为一个男人,身上怎么能够没有大把钞票呢?于是我决定用Python来分析一波股票,赢了会所嫩*,输了下海干活!好了,上面是我吹牛逼的,不过确实有小伙......
  • 动态规划 - 股票
    动态规划的本质是从子状态推出当前状态,且无后效性;需要我们合理地定义状态。对于股票的最大利润,决定性的状态因素有三个:第i天结束时,最多能进行k次交易,当前是否持有股......
  • 【LeetCode】122. 买卖股票的最佳时机Ⅱ
    官方介绍文档LeetCode说明连接:122.买卖股票的最佳时机II-力扣(LeetCode)贪心算法参考解题思路:买卖股票的最佳时机II(贪心,清晰图解)-买卖股票的最佳时机II-力扣(Le......