声明:只求用最简单的方法通过,不求优化,不喜勿喷
- dp求解,每次记录当前最低的价格,算法是拿当天的价格和上一位的比,记下低的那一个
- 用当天的价格减去当前记录dp出来的最低价格
- 如果差价比记录的最大值大则更新最大值
- 优化todo
/**
* @param {number[]} prices
* @return {number}
*/
var maxProfit = function (prices) {
let max = 0;
for (var i = 1; i < prices.length; i++) {
if (prices[i] - Math.min(prices[i - 1], prices[i]) > max) {
max = prices[i] - Math.min(prices[i - 1], prices[i]);
}
prices[i] = Math.min(prices[i - 1], prices[i]);
}
return max;
};