1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class Solution { public: int maxProfit(vector<int>& prices) { int n = prices.size(); if(n < 2) return 0;
vector<int> dp; dp.resize(n, 0); int minprice = prices[0];
for(int i = 1; i < n; ++i) { minprice = min(minprice, prices[i]); dp[i] = max(dp[i - 1], prices[i] - minprice); } return dp[n - 1]; } };
|