Skip to content

Files

Latest commit

author
Shuo
Jul 10, 2021
62f1dec · Jul 10, 2021

History

History

partition-labels

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jul 10, 2021
Nov 12, 2019
Nov 12, 2019

< 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.