395. 至少有 K 个重复字符的最长子串
难度中等379收藏分享切换为英文接收动态反馈
给你一个字符串 s
和一个整数 k
,请你找出 s
中的最长子串, 要求该子串中的每一字符出现次数都不少于 k
。返回这一子串的长度。
示例 1:
1 | 输入:s = "aaabb", k = 3 |
示例 2:
1 | 输入:s = "ababbc", k = 2 |
提示:
1 <= s.length <= 104
s
仅由小写英文字母组成1 <= k <= 105
分治思想
统计每个字符的数量,如果某个字符的数量小于k那么它一定不能在满足条件的最长字符串里面,因此我们可以通过某个不满足条件的字符ch
将整个字符串划分为若干个子字符串,对于每个子字符串,分别递归的查找不满足条件的字符ch
分割字符串,记录满足条件的子字符串的长度。
1 | class Solution { |
分治思想
1 | class Solution { |
枚举所有字符+滑动窗口
1 | class Solution { |