算法学习--买卖股票的最佳时机
生活随笔
收集整理的這篇文章主要介紹了
算法学习--买卖股票的最佳时机
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目如下:
給定一個數(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 。 復(fù)制代碼思路如下:
貪心算法,總是做當(dāng)前看來最好的選擇,不從整體最優(yōu)上加以考慮,只關(guān)心當(dāng)前最優(yōu)解
代碼如下:
var maxProfit = function(prices) {let maxValue = 0;let plusNum = 0;for (let i = 1; i < prices.length; i++) {plusNum = prices[i] - prices[i-1];if (plusNum >0) {maxValue += plusNum;}}return maxValue }; 復(fù)制代碼題后感想:
原來貪心算法可以這么應(yīng)用,原來用算法這么解決實際問題的,學(xué)到了。
轉(zhuǎn)載于:https://juejin.im/post/5c90f00f5188252d9f7c1909
總結(jié)
以上是生活随笔為你收集整理的算法学习--买卖股票的最佳时机的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python小技巧:获取字典中值最大者的
- 下一篇: 老鸟运维该何去何从?