🚩传送门:牛客题目
题目
给你一个字符串 ,找出所有长度为
且含重复字符的子串,请你返回全部满足要求的子串的 数目。
示例 1:
输入:S = “createfunonyoka”, K = 4 输出:4 解释: 这里有 6 个满足题意的子串,分别是:’eate’,’unon’,’nony’,’onyo’ 。
解题思路:集合判重
利用 set 进行判重,如果 set 中元素个数不等于 说明有重复元素
我的代码
class Solution {
public int numKLenSubstrRepeats(String s, int k) {
HashSet<Character> set = new HashSet<>();
int n=s.length();
int res=0;
for (int i = 0; i <= n-k; i++) {
for (int j = 0; j < k; j++) {
set.add(s.charAt(i+j));
}
// 说明重复
if(set.size()!=k) res++;
set.clear();
}
return res;
}
}