763. Partition Labels (Medium) - TengnanYao/daily_leetcode GitHub Wiki

class Solution:
    def partitionLabels(self, s: str) -> List[int]:
        h = {c: i for i, c in enumerate(s)}
        result = []
        t = 0
        j = 0
        for i, c in enumerate(s):
            j = max(h[c], j)
            if j == i:
                result.append(j + 1 - t)
                t = i + 1
        return result