1. 程式人生 > >[LeetCode]買賣股票的最佳時機 II

[LeetCode]買賣股票的最佳時機 II

買賣股票的最佳時機 II

  1. 假設有一個數組,它的第 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; }