package Greedy
func partitionLabels(s string) []int {
hashTable := make(map[byte]int)
// hashTable记录字符串中每个字母最后一次出现的位置
for i := 0; i < len(s); i++ {
hashTable[s[i]] = i
}
result := make([]int, 0)
for cur := 0; cur < len(s); {
tmp := cur
for limit := cur; cur <= limit; cur++ {
limit = max(limit, hashTable[s[cur]])
}
result = append(result, cur-tmp)
}
return result
}