1665. Minimum Initial Energy to Finish Tasks (Hard) - TengnanYao/daily_leetcode GitHub Wiki

class Solution(object):
    def minimumEffort(self, tasks):
        """
        :type tasks: List[List[int]]
        :rtype: int
        """
        result = cur = 0
        tasks.sort(key = lambda x : x[0] - x[1])
        for t in tasks:
            result += max(t[1] - cur, 0)
            cur = max(t[1] - t[0], cur - t[0])
        return result