今天这道题也有点糊里糊涂的,题目如下:
这道题的意思是求出最大的收益,但是只能交易一次。可以想到的是使用双层循环来解决这个问题,但是是否有一次遍历的方法呢?代码如下:
/** * @param {number[]} prices * @return {number} */ var maxProfit = function(prices) { let minprices = Number.MAX_VALUE; let maxprofit = 0; for(let i = 0 ; i < prices.length ; i++){ if( prices[i] < minprices ){ minprices = prices[i]; }else if( prices[i] - minprices > maxprofit ){ maxprofit = prices[i] - minprices; } } return maxprofit; };