Untitled

 avatar
unknown
python
4 years ago
801 B
4
Indexable
class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        minimal = None
        total = 0
        omit_values = 0
        for x_index, x in enumerate(prices):
            if omit_values:
                omit_values -= 1
                continue
            if minimal is None or x <= minimal:
                minimal = x
            else:
                maximal = None
                sliced_list = prices[x_index:]
                for y_index, y in enumerate(sliced_list):
                    if maximal is None or y >= maximal:
                        maximal = y
                    else:
                        break
                total += maximal - minimal
                omit_values = y_index - 1
                minimal = None
        return total
Editor is loading...