长度为 K 的重复字符子串数目
长度为 K 的重复字符子串
给你一个由小写字母组成的长度为n的字符串 S ,找出所有长度为 k 且包含重复字符的子串,请你返回全部满足要求的子串的数目。
数据范围:
2≤k≤400 ,
5≤n≤900
进阶: 时间复杂度O(n),空间复杂度O(n)
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
示例1
输入例子:
“createfunonyoka”,4
输出例子:
4
示例2
输入例子:
“yokagames”,3
输出例子:
1
示例3
输入例子:
“yoka”,4
输出例子:
0
int numKLenSubstrRepeats(string s, int k) {// write code hereint i = 0, j = i + k-1;int countts = 0;while (j < s.size()){unordered_set<char> unSet;for (int m = i; m <=j; m++){if (!unSet.count(s[m])) { unSet.insert(s[m]); }else{++countts;break;}}++i; ++j;}return countts;
}