2023-10-02 LeetCode每日一题(买卖股票的最佳时机 II)

2023-10-02每日一题

一、题目编号

122. 买卖股票的最佳时机 II

二、题目链接

点击跳转到题目位置

三、题目描述

给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。

在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。

返回 你能获得的 最大 利润 。

示例 1:
2023-10-02 LeetCode每日一题(买卖股票的最佳时机 II)_第1张图片

示例 2:
2023-10-02 LeetCode每日一题(买卖股票的最佳时机 II)_第2张图片

示例 3:
在这里插入图片描述
提示:

  • 1 <= prices.length <= 3 * 104
  • 0 <= prices[i] <= 104

四、解题代码

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int n = prices.size();
        int dp[n+5];
        int min0 = prices[0];
        int sum = 0;
        memset(dp,0,sizeof(dp));
        for(int i = 1; i < n; ++i){
            if(prices[i] > min0){
                sum += (prices[i]-min0);
                min0 = prices[i];
            }
            else{
                min0 = min(min0,prices[i]);
            }
        }
    return sum;
    }
};

五、解题思路

(1) 采用动态规划解决。

你可能感兴趣的:(LeetCode每日一题,leetcode,算法,数据结构)