[LeetCode]買賣股票的最佳時機 II
阿新 • • 發佈:2018-11-22
買賣股票的最佳時機 II
假設有一個數組,它的第 i 個元素是一個給定的股票在第 i 天的價格。
設計一個演算法來找到最大的利潤。你可以完成儘可能多的交易(多次買賣股票)。然而,你不能同時參與多個交易(你必須在再次購買前出售股票)。
注意:可以多次購買,購買前先賣出
public int maxProfit(int[] prices) {
if (prices == null || prices.length == 0) {
return 0;
}
int priceTotal = 0;
int priceStart = Integer.MAX_VALUE;
int priceEnd = Integer.MAX_VALUE;
boolean index = false;
for (int price : prices) {
if (price < priceStart || priceEnd > price) {
priceTotal += priceEnd - priceStart;
priceStart = price;
priceEnd = price;
index = true;
}
if (price > priceEnd) {
priceEnd = price;
index = false;
}
}
if (!index) {
priceTotal += priceEnd - priceStart;
}
return priceTotal;
}