122.Best Time to Buy and Sell Stock II
阿新 • • 發佈:2017-10-22
pan -i 題解 得到 sel 獲得 open 但是 blog
題目鏈接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/description/
題目大意:基本定義與121類似,不同點:121買賣股票只能有一次,且在這所有的一次買賣中找出最大利潤值;122買賣股票不限次數,要求在這所有次數中的最大利潤值(這裏題目描述不準確,其實不是求某一次買賣得到的最大利潤值,而是求所有次買賣所獲得的總利潤值)。
題解(借鑒):這裏不用利用121的貪心思想,直接計算每一天中,只要比前一天貴,就賣出當前股票獲取利潤。(但是我覺得這裏題目漏洞太大了,也就是說1,2,3這組數據,得到的最大值是2,由(2-1)+(3-2)得到)。代碼如下(耗時1ms):
1 public int maxProfit(int[] prices) { 2 int profit = 0; 3 for(int i = 1;i < prices.length; i++) { 4 if(prices[i] > prices[i - 1]) { 5 profit += prices[i] - prices[i - 1]; 6 } 7 } 8 return profit; 9 }View Code
122.Best Time to Buy and Sell Stock II