广州黄埔网站制作,学做网站需要多久时间,四川住房和城乡建设厅网站题库,做网站主机题目链接
给定一个数组 prices #xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的…题目链接
给定一个数组 prices 它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润返回 0 。
1 prices.length 1 0 5 10^5 1050 prices[i] 1 0 4 10^4 104
思路
从前往后遍历维护一个当前最低价格minPrice和最大利益_maxProfit。
/*** param {number[]} prices* return {number}*/
var maxProfit function(prices) {if (prices.length 1) {return 0;}let minPriceprices[0];let _maxProfit0;for(let i1;iprices.length;i){if(prices[i]minPrice){minPriceprices[i];}else{_maxProfitMath.max(_maxProfit,prices[i]-minPrice);}}return _maxProfit;
};时间复杂度O(n)
空间复杂度O(1)