問題描述: 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 設計一個演算法來計算你所能獲取的最大利潤。你可以儘可能地完成更多的交易(多次買賣一支股票)。 註意:你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票) 問題分析: 股票可以在當天進行買賣,所以在我們計算利潤的時候, ...
問題描述:
給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。
設計一個演算法來計算你所能獲取的最大利潤。你可以儘可能地完成更多的交易(多次買賣一支股票)。
註意:你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票)
問題分析:
股票可以在當天進行買賣,所以在我們計算利潤的時候,只要今天價格大於昨天價格的我們就賣出,利潤就是差值的和
JAVA實現:
class Solution { public int maxProfit(int[] prices) { int len=prices.length; int profit=0; for(int i=1;i<len;i++){ if(prices[i-1]<prices[i]){ profit+=prices[i]-prices[i-1]; } } return profit; } }