Search⌘ K
AI Features

Solution: Partition Labels

Explore how to partition a string into the maximum number of valid parts where each letter appears in only one part. Understand the use of two pointers combined with a last-occurrence map to determine partition boundaries. This lesson guides you through implementing this linear time and constant space solution in Go.

Statement

You are given a string s. Your task is to divide the string into as many parts as possible such that each letter appears in at most one part.

In other words, no character should occur in more than one partition. After concatenating all parts in order, the result should be the original string s.

For example, given s = "bcbcdd", a valid partition is ["bcbc", "dd"]. However, partitions like ["bcb", "cdd"] or ["bc", "bc", "dd"] are invalid because some letters appear in multiple parts.

Return a list of integers representing the sizes of these partitions.

Constraints:

  • ...