要找一个值,减去前面最小的,那么就得到最大利润了
class Solution {public:int maxProfit(vector<int>& prices) {if(!prices.size()) return 0;int minval = prices[0];int res = 0;for(int i = 1; i < prices.size(); i++){int tmp = prices[i];prices[i] = tmp - minval;minval = min(minval, tmp);res = max(res, prices[i]);}return res;}};
第二次写题
class Solution {public:int maxProfit(vector<int>& prices) {if(!prices.size()) return 0;vector<int> res(prices.size());int minval = prices[0];int maxval = INT_MIN;for(int i = 0; i < prices.size(); i++){res[i] = prices[i] - minval;minval = min(minval, prices[i]);maxval = max(maxval, res[i]);}return maxval;}};
