121. Best Time to Buy and Sell Stock
这是一道easy的题目,但是他的解题思路对于后面的进阶则是受到他的启发,所以我在这里特地记录一下,好了我们看一下题目,思路非常简单,我们只需要找到最低的价格或者说最低的成本,在之后的序列中找到最高的差价即可,那么我们一次遍历即可求出,具体来看代码的实现。
class Solution {
public:
int maxProfit(vector<int>& prices)
{
int m = prices.size();
int minprices = INT_MAX;
int maxP = 0;
for (int i = 0; i < m; i++)
{
minprices = min(minprices, prices[i]);
maxP = max(maxP, prices[i] - minprices);
}
return maxP;
}
};
代码一目了然非常清楚,当然我们可以拆开分别判断当前价格是否小于我上一次记录的价格但同样可以。我就在多解释。那么重点是它的进阶我会在下一章描述。