题目链接:LC 121. 买卖股票的最佳时机
2020.10.13第一次解答:
解题思路
DP不太会...参考评论区思路和代码后初步形成自己的认知
max = max{ 第i天以前的最大收益,第i天的价格 - 第i天以前的最小价格 }
这样我们就有了dp的基本公式,依次写出代码
C++代码
class Solution {
public:
int maxProfit(vector<int>& prices) {
if(prices.size() <= 1) return 0;
int Min = prices[0], Max = 0;
for(int i = 0; i < prices.size(); i++) {
Max = max(Max, prices[i] - Min);
Min = min(Min, prices[i]);
}
return Max;
}
};

Java代码
class Solution {
public int maxProfit(int[] prices) {
if(prices.length <= 1) return 0;
int min = prices[0], max = 0;
for(int i = 0; i < prices.length; i++) {
max = Math.max(max, prices[i] - min);
min = Math.min(min, prices[i]);
}
return max;
}
}
这篇博客介绍了如何运用动态规划解决LC121.买卖股票的最佳时机问题。作者分享了C++和Java两种语言的代码实现,通过维护第i天以前的最大收益和最小价格,找到最大利润。

1717

被折叠的 条评论
为什么被折叠?



