gary@interview:~/interview/coding/122-best-time-to….md$
$ cat ./coding/122-best-time-to-buy-and-sell-stock-ii.md
[Coding]

122. Best Time to Buy and Sell Stock II

────────────────────────────────────────────────────────────

122. Best Time to Buy and Sell Stock II

這個題目是每天都可以買賣股票,但是最多只能同時持有一股的股票要買之前要先賣掉股票。

class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        if len(prices) < 2:
            return 0

        buys = [float('-inf')] * len(prices) 
        sells = [0] * len(prices) 
        buys[0] = -prices[0]

        for i in range(1, len(prices)):
            buys[i] = max(buys[i-1], sells[i-1] - prices[i])
            sells[i] = max(sells[i-1], buys[i-1] + prices[i])

        return sells[-1]

class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        if len(prices) < 2:
            return 0

        buys = [float('-inf')] * len(prices) 
        sells = [0] * len(prices) 

        for i in range(len(prices)):
            if i == 0:
                buys[i] = max(buys[i], 0 - prices[i])
            else:
                buys[i] = max(buys[i-1], sells[i-1] - prices[i])
            sells[i] = max(sells[i-1], buys[i-1] + prices[i])
        return sells[-1]

--tags#Classic
$ ls ./coding/ | grep -v 122-best-time-to-buy-and-sell-stock-ii
265. Paint House II256. Paint House143. Reorder List1762. Buildings With an Ocean View
← cd ../codingcd ~