思路:每一步都记录最大的利润(当前价格减去之前的最低值)
int ret = 0;
int lowest = prices[0];
int length = prices.size();
if (0 == length) return 0;
for (int i = 0; i < length; i ++)
{
int currentPrice = prices[i];
ret = std::max(ret , currentPrice - lowest);
lowest = std::min(currentPrice, lowest);
}
return ret;
网友评论