题目:买卖股票的最佳时机

思路:

所谓贪心算法,就是每个步骤都挑选局部最优解,从而最终达到全局最优解的效果

在这题中,”贪心“体现在——在遍历过程中,每次都只将当前价格与之前遇到的最低价格进行利润计算

这样就可以避免不必要的计算

具体实现如下:

 1int maxProfit(vector<int>& prices)
 2{
 3    if(prices.empty()) return 0;
 4    int max_profit = 0, min_price = prices[0];
 5    for(int price : prices)
 6    {
 7        if(price < min_price)
 8            min_price = price;
 9        else
10        {
11            int curr_profit = price - min_price;
12            max_profit = curr_profit < max_profit ? max_profit : curr_profit;
13        }
14    }
15    return max_profit;
16}