描述
给定一个字符串,我们想知道满足以下两个条件的子串最多出现了多少次:
- 子串的长度在[minLength,maxLength][minLength,maxLength]之间
- 子串的字符种类不超过maxUniquemaxUnique
写一个函数 getMaxOccurrences ,其返回满足条件的子串最多出现次数。
-
2≤n≤1052≤n≤105
-
2≤minLength≤maxLength≤262≤minLength≤maxLength≤26
-
maxLength<nmaxLength<n
-
2≤maxUnique≤262≤maxUnique≤26
-
ss仅包含小写字母
样例1
输入:
s = "abcde"
minLength = 2
maxLength = 5
maxUnique = 3
输出:
1
解释:
符合条件的子串有 ab, bc, cd, de, abc, bcd, cde 。每一个子串只出现了一次,因此答案是1。
解题思路
我们可以使用滑动窗口的做法。显然,题目中的maxLengthmaxLength是没有用的,因此我们只需要以枚举所有minLengthminLength长的子串,判断其是否符合maxUniquemaxUnique的条件。如果符合