思路
- 记录【今天之前的最小买入价格】
- 计算【如果今天买入的,能获得的最大利润】
- 比较【最大利润】
代码
c++写的运行效率比java低很多,不知道为什么
class Solution {
public:
//DP
int maxProfit(vector<int>& prices) {
if(prices.size()<=1) return 0;
int profit = 0;
int min_buy = prices[0];
for(int i = 1; i< prices.size() ;i++){
profit = max(profit,prices[i]-min_buy);
min_buy = min(prices[i],min_buy);
}
return profit;
}
};