Skip to content

Latest commit

 

History

History
58 lines (45 loc) · 2.34 KB

README.md

File metadata and controls

58 lines (45 loc) · 2.34 KB

< Previous                  Next >

You are given a string s. We want to partition the string into as many parts as possible so that each letter appears in at most one part.

Return a list of integers representing the size of these parts.

 

Example 1:

Input: s = "ababcbacadefegdehijhklij"
Output: [9,7,8]
Explanation:
The partition is "ababcbaca", "defegde", "hijhklij".
This is a partition so that each letter appears in at most one part.
A partition like "ababcbacadefegde", "hijhklij" is incorrect, because it splits s into less parts.

Example 2:

Input: s = "eccbbbbdec"
Output: [10]

 

Constraints:

  • 1 <= s.length <= 500
  • s consists of lowercase English letters.

Related Topics

[Greedy] [Hash Table] [Two Pointers] [String]

Similar Questions

  1. Merge Intervals (Medium)

Hints

Hint 1 Try to greedily choose the smallest partition that includes the first letter. If you have something like "abaccbdeffed", then you might need to add b. You can use an map like "last['b'] = 5" to help you expand the width of your partition.