力扣链接:121.买卖股票的最佳时机
难度:⭐
解题关键词:数组
解题思路:我们使用一个变量来记录目前碰到的最低价格,然后假设是在这一天买的,然后往后遍历,计算最大利润,如果碰到更小的,更新最低价格。
typescript
function maxProfit(prices: number[]): number {
// 目前遇到的最低价格
let minPrice = Infinity;
// 最大利润
let maxProfit = 0;
for (let i = 0; i < prices.length; i++) {
// 如果碰到了更低的价格
if (prices[i] < minPrice) {
minPrice = prices[i];
} else if (prices[i] - minPrice > maxProfit) {
// 有更大的利润
maxProfit = prices[i] - minPrice;
}
}
return maxProfit;
}