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

解题思路

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

相关代码

复制代码
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;
    }
}
相关推荐
2501_9411113314 小时前
C++代码重构实战
开发语言·c++·算法
一叶之秋141214 小时前
从零开始:打造属于你的链式二叉树
数据结构·算法
CoovallyAIHub14 小时前
CV研究告别数据荒?PAN世界模型实现「多步推理与规划」,可自造高质量训练数据
深度学习·算法·计算机视觉
2501_9411116815 小时前
模板编译期哈希计算
开发语言·c++·算法
CoovallyAIHub15 小时前
智能体与小模型:AI迈向平民化的新浪潮
深度学习·算法·计算机视觉
jllllyuz15 小时前
基于粒子群优化(PSO)的特征选择与支持向量机(SVM)分类
开发语言·算法·matlab
啊吧怪不啊吧15 小时前
贪心算法(局部最优实现全局最优)第一篇
算法·贪心算法
Yue丶越16 小时前
【C语言】深入理解指针(四)
java·c语言·算法
Abona16 小时前
自动驾驶、无人机、机器人核心技术双范式
算法·机器人·自动驾驶·无人机