题目:买卖股票的最佳时机
思路:
所谓贪心算法,就是每个步骤都挑选局部最优解,从而最终达到全局最优解的效果
在这题中,”贪心“体现在——在遍历过程中,每次都只将当前价格与之前遇到的最低价格进行利润计算
这样就可以避免不必要的计算
具体实现如下:
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}