這些只是我個人練習(xí)時的解法,希望大神指出錯誤或者需要優(yōu)化的地方
給定一個數(shù)組时甚,它的第 i 個元素是一支給定股票第 i 天的價格承璃。
設(shè)計一個算法來計算你所能獲取的最大利潤粤攒。你可以盡可能地完成更多的交易(多次買賣一支股票)笔刹。
注意:你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票)。
示例 1:
輸入: [7,1,5,3,6,4]
輸出: 7
解釋: 在第 2 天(股票價格 = 1)的時候買入溪窒,在第 3 天(股票價格 = 5)的時候賣出, 這筆交易所能獲得利潤 = 5-1 = 4 坤塞。
隨后,在第 4 天(股票價格 = 3)的時候買入澈蚌,在第 5 天(股票價格 = 6)的時候賣出, 這筆交易所能獲得利潤 = 6-3 = 3 摹芙。
算法實現(xiàn)我的想法主要是這樣,
首先創(chuàng)建profit(利潤)初始值為0,buy(股票),初始值為數(shù)組第一個數(shù)
接下來判斷相鄰數(shù)字大小,如果變大,則profit+=相應(yīng)數(shù)值
/**
* @param {number[]} prices
* @return {number}
*/
var maxProfit = function(prices) {
let profit = 0
let buy = prices[0]
for(let price of prices){
if(price > buy){
profit += price - buy
}
buy = price
}
return profit
};