1. 程式人生 > >leetcode (Best Time to Buy and Sell Stock II)

leetcode (Best Time to Buy and Sell Stock II)

Title: Merge Stored Array    122

Difficulty:Easy

原題leetcode地址:https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/

 

這題時上一題121稍微的改變,因為不限制買賣,就可以表示在同一天可以以同樣的價格買進賣出

1. 注意點見程式碼中的註釋,時間&空間複雜度如下:

時間複雜度:O(n),一層for迴圈,需要遍歷整個陣列。

空間複雜度:O(1),沒有申請額外的空間。

    /**
     * 注意的是同一天可以賣出買進(不限制買賣的次數)
     * @param prices
     * @return
     */
    public static int maxProfit(int[] prices) {

        if (prices == null || prices.length <= 1) {
            return 0;
        }

        int maxProfit = 0;
        for (int i = 1; i < prices.length; i++) {
            if (prices[i] > prices[i - 1]) {
                maxProfit += prices[i] - prices[i - 1];
            }
        }

        return maxProfit;

    }