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;
    }
}
相关推荐
MM_MS4 分钟前
Halcon控制语句
java·大数据·前端·数据库·人工智能·算法·视觉检测
mit6.82417 分钟前
山脉二分找中值|子集型回溯
算法
乃瞻衡宇25 分钟前
Agent Skills 完全指南:让你的 AI Agent 拥有超能力
算法
mit6.82429 分钟前
pair<int, TreeNode*> dfs
算法
初晴や1 小时前
【C++】图论:基础理论与实际应用深入解析
c++·算法·图论
李泽辉_1 小时前
深度学习算法学习(五):手动实现梯度计算、反向传播、优化器Adam
深度学习·学习·算法
李泽辉_2 小时前
深度学习算法学习(一):梯度下降法和最简单的深度学习核心原理代码
深度学习·学习·算法
꧁Q༒ོγ꧂2 小时前
算法详解---大纲
算法
m0_603888712 小时前
Scaling Trends for Multi-Hop Contextual Reasoning in Mid-Scale Language Models
人工智能·算法·ai·语言模型·论文速览
Xの哲學2 小时前
Linux io_uring 深度剖析: 重新定义高性能I/O的架构革命
linux·服务器·网络·算法·边缘计算