0
点赞
收藏
分享

微信扫一扫

LeetCode 1876. 长度为三且各字符不同的子字符串

书写经典 03-17 18:00 阅读 2
算法

解题思路

滑动窗口的经典题型,直接套模板就行了。

相关代码

class Solution {
    public int countGoodSubstrings(String s) {
        char c[] = s.toCharArray();
        int hash[] = new int[26];
        int k=0;
        for(int i=0,j=0,cnt=0;i<c.length;i++){
            hash[c[i]-'a']++;
            if(hash[c[i]-'a']==1) cnt++;
            if(i-j+1>3){
                if(hash[c[j]-'a']==1) cnt--;
                hash[c[j]-'a']--;
                j++;
            }
            if(i>=3-1&&cnt==3) k++; 
        }
        return k;
    }
}
举报

相关推荐

0 条评论