for Robot Artificial Inteligence

35. Best Time to Buy and Sell Stock

|

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int maxpro = 0;
        int minprice = INT_MAX;
        for(int i =0; i<prices.size();i++)
        {
            minprice = min(minprice, prices[i]);
            maxpro = max(maxpro, prices[i]-minprice);
        }
        return maxpro;

    }
};
  • minPrice is the minimum price from day 0 to day i. And maxPro is the maximum profit we can get from day 0 to day i. How to get maxPro? Just get the larger one between current maxPro and prices[i] - minPrice.

  • 만약 맨 끝단에 자기 자신이 minprice가 된다면, max pro에서 스스로 뺴기 떄문에 0이 되므로 maxpro는 그대로 남는다.

Comments