Hot-763 划分字母区间
解法1:贪心划分,遍历两次,第一次记录last_place,第二次i==end判断片段贪心记录
class Solution: def partitionLabels(self, s: str) -> List[int]: answer = [] # 第一遍,记录每次字符最后的位置 last_place = {} for i,char in enumerate(s): last_place[char] = i # 第二遍,记录片段中所有字符的end,取最后的end,直到end==i,贪心记录片段 tmp = 0 end = -1 for i,char in enumerate(s): end = max(end,last_place[char]) tmp +=1 if i == end: answer.append(tmp) tmp = 0 return answer