题目链接: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;
}
}