给你一个由小写字母组成的长度为n的字符串 S ,找出所有长度为 k 且包含重复字符的子串,请你返回全部满足要求的子串的数目。
数据范围: ,
进阶: 时间复杂度,空间复杂度
输入例子1:
"createfunonyoka",4
输出例子1:
4
输入例子2:
"yokagames",3
输出例子2:
1
输入例子3:
"yoka",4
输出例子3:
0
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @param k int整型 * @return int整型 */ bool isRepeatString(string s) { int length = s.length(); for(int i = 0;i < length - 1;++i) { for(int j = i + 1;j < length;++j) { if(s[i]==s[j]) { return true; } } } return false; } int numKLenSubstrRepeats(string s, int k) { // write code here int result = 0; int length = s.length(); if(length < k) { return isRepeatString(s) ? 1 : 0; } for(int i = 0;i <= length - k;++i) { string subString = s.substr(i, k); cout << subString << endl; if(isRepeatString(subString)) { result++; } } return result; } };