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