122. 买卖股票的最佳时机 II008(贪心算法+思路)
生活随笔
收集整理的這篇文章主要介紹了
122. 买卖股票的最佳时机 II008(贪心算法+思路)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一:題目
給定一個(gè)數(shù)組 prices ,其中 prices[i] 是一支給定股票第 i 天的價(jià)格。
設(shè)計(jì)一個(gè)算法來(lái)計(jì)算你所能獲取的最大利潤(rùn)。你可以盡可能地完成更多的交易(多次買賣一支股票)。
注意:你不能同時(shí)參與多筆交易(你必須在再次購(gòu)買前出售掉之前的股票)。
輸入: prices = [7,1,5,3,6,4] 輸出: 7 解釋: 在第 2 天(股票價(jià)格 = 1)的時(shí)候買入,在第 3 天(股票價(jià)格 = 5)的時(shí)候賣出, 這筆交易所能獲得利潤(rùn) = 5-1 = 4 。隨后,在第 4 天(股票價(jià)格 = 3)的時(shí)候買入,在第 5 天(股票價(jià)格 = 6)的時(shí)候賣出, 這筆交易所能獲得利潤(rùn) = 6-3 = 3 輸入: prices = [1,2,3,4,5] 輸出: 4 解釋: 在第 1 天(股票價(jià)格 = 1)的時(shí)候買入,在第 5 天 (股票價(jià)格 = 5)的時(shí)候賣出, 這筆交易所能獲得利潤(rùn) = 5-1 = 4 。注意你不能在第 1 天和第 2 天接連購(gòu)買股票,之后再將它們賣出。因?yàn)檫@樣屬于同時(shí)參與了多筆交易,你必須在再次購(gòu)買前出售掉之前的股票。 輸入: prices = [7,6,4,3,1] 輸出: 0 解釋: 在這種情況下, 沒(méi)有交易完成, 所以最大利潤(rùn)為 0。二:思路:
思路:1.貪心算法,局部最優(yōu)法則
2.局部最優(yōu)體現(xiàn)在,每次選擇交易的時(shí)候,每次遇見(jiàn)后面比起大的就在i處買進(jìn),i+1處賣出
三:上碼
class Solution { public:int maxProfit(vector<int>& prices) {/**思路:1.貪心算法,局部最優(yōu)法則2.局部最優(yōu)體現(xiàn)在,每次選擇交易的時(shí)候,每次遇見(jiàn)后面比起大的就在i處買進(jìn),i+1處賣出*/ int money = 0;for(int i = 0; i < prices.size() - 1; i++){if(prices[i] < prices[i+1]){money+=(prices[i+1] - prices[i]);}}return money;} };
加油加油加油加油 !!!!!!!!!!!!!!!!! 心中無(wú)女人,敲碼自然神
總結(jié)
以上是生活随笔為你收集整理的122. 买卖股票的最佳时机 II008(贪心算法+思路)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 10-5 5-5 查询只卖三种不同型号P
- 下一篇: 黑南瓜子的功效与作用、禁忌和食用方法