LeetCode每日刷题练习

121 Best Time to Buy and Sell Stock
假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。
例1:
输入:[7,1,5,3,6,4]
输出:5
说明:在第2天买入(价格=1)并在第5天卖出(价格=6),利润=6-1=5.不是7-1=6,因为售价需要大于购买价格。
例2:
输入:[7,6,4,3,1]
输出:0
说明:在这种情况下,没有进行任何交易,即最大利润=0.
const maxProfit = function(prices) { //price写在里面代表它是会级作用域 const用作块级作用域
if (prices === null || prices.length === 0) {
return 0;
}
var min = Number.MAX_VALUE;
var profit = 0;
var i;
for (i = 0; i < prices.length; i++) {
min = prices[i] < min ? prices[i] : min;
profit = (prices[i] - min) > profit ? prices[i] - min : profit;
}
return profit;
}

猜你喜欢

转载自www.cnblogs.com/EdisonVan/p/9436092.html