FastPrepMax Frequency Substring

Max Frequency Substring

Snowflake logoSnowflakeMediumOA
Learn

Problem statement

Given a string containing a number of characters, find the substrings within the string that satisfy the conditions below:

  • The substring's length should be in the inclusive interval (minLength, maxLength).
  • The total number of unique characters should not exceed maxUnique.

Using those conditions, determine the frequency of the maximum occurring substring.

Function

getMaxFrequencySubstring(s: String, minLength: int, maxLength: int, maxUnique: int) → int

Complete the function getMaxFrequencySubstring in the editor.

getMaxFrequencySubstring has the following parameters:

  1. String s: the string to analyze
  2. int minLength: the minimum length of the substring
  3. int maxLength: the maximum length of the substring
  4. int maxUnique: the maximum number of unique characters in the substring

Returns int: the frequency of the maximum occurring substring

Examples

Example 1

s = "abcde"minLength = 2maxLength = 3maxUnique = 3return = 1

The given string components is 'abcde'. The number of pieces in an interval should be greater than or equal to minLength = 2, so 'a', 'b', 'c', 'd', and 'e' are discarded. The combination of characters should be less than or equal to maxLength = 3, so 'abcd', 'bcde', and 'abcde' are discarded. The intervals that satisfy the conditions above are 'ab', 'bc', 'cd', 'de', 'abc', 'bcd', and 'cde'. Each combination of characters occurs only one time, so the maximum number of occurrences is 1.

Constraints

  • An unknown urban legend for now 🥲

More Snowflake problems

See Snowflake hiring insights
public int getMaxFrequencySubstring(String s, int minLength, int maxLength, int maxUnique) {
    // write your code here
}
s"abcde"
minLength2
maxLength3
maxUnique3
expected1
Checking account…