当前次的最大利润f(n)=max(f(n-1), val - m(n-1), 当前最小值为m(n) = min(val, m(n-1))
简单说就是求出每个点卖出的最大利润,然后找出那个最大点的值即可
class Solution {
public:
int maxProfit(vector<int>& prices) {
if (prices.size() <= 1) return 0;
int f = 0, m = prices[0];
for (int i = 1; i < prices.size(); ++i) {
if (prices[i] - m > f) f = prices[i] - m;
if (prices[i] < m) m = prices[i];
}
return f;
}
};