代码题:股票最大值。
参考回答:
求总体的最大差值,需要的数据:当前的最小值,当前的最大差值;遍历求解即可。
class Solution { public: int maxProfit(vector<int> prices) { int length = prices.size(); if (length < 2) return 0; int minPrice = prices[0]; int maxDiff = prices[1] - minPrice; for (int i = 2; i < length; ++i) { if (prices[i - 1] < minPrice) minPrice = prices[i - 1]; int currentDiff = prices[i] - minPrice; if (currentDiff > maxDiff) maxDiff = currentDiff; } return maxDiff; } };