java.lang.Object
g3101_3200.s3144_minimum_substring_partition_of_equal_character_frequency.Solution

public class Solution extends Object
3144 - Minimum Substring Partition of Equal Character Frequency.

Medium

Given a string s, you need to partition it into one or more balanced substrings. For example, if s == "ababcc" then ("abab", "c", "c"), ("ab", "abc", "c"), and ("ababcc") are all valid partitions, but (“a”, “bab” , “cc”), ( “aba” , “bc”, “c”), and (“ab”, “abcc” ) are not. The unbalanced substrings are bolded.

Return the minimum number of substrings that you can partition s into.

Note: A balanced string is a string where each character in the string occurs the same number of times.

Example 1:

Input: s = “fabccddg”

Output: 3

Explanation:

We can partition the string s into 3 substrings in one of the following ways: ("fab, "ccdd", "g"), or ("fabc", "cd", "dg").

Example 2:

Input: s = “abababaccddb”

Output: 2

Explanation:

We can partition the string s into 2 substrings like so: ("abab", "abaccddb").

Constraints:

  • 1 <= s.length <= 1000
  • s consists only of English lowercase letters.
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • minimumSubstringsInPartition

      public int minimumSubstringsInPartition(String s)