您有一个字符串s。我们想将字符串分配到尽可能多的部分中,以使每个字母最多出现在一部分中。
请注意,该分区已完成,以便在将所有零件串联到顺序之后,结果字符串应为s。
返回代表这些零件大小的整数列表。
class Solution:
def partitionLabels(self, S: str) -> List[int]:
count = {}
res = []
i, length = 0, len(S)
for j in range(length):
c = S[j]
count[c] = j
curLen = 0
goal = 0
while i < length:
c = S[i]
goal = max(goal, count[c])
curLen += 1
if goal == i:
res.append(curLen)
curLen = 0
i += 1
return res