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;
    }
}
相关推荐
放羊郎14 小时前
基于ORB-SLAM2算法的优化工作
人工智能·算法·计算机视觉
mask哥15 小时前
力扣算法java实现汇总整理(上)
java·算法·leetcode
如果'\'真能转义说15 小时前
OOXML 文档格式剖析:哈希、ZIP结构与识别
xml·算法·c#·哈希算法
梦梦代码精17 小时前
BuildingAI 上部署自定义工作流智能体:5 个实用技巧
大数据·人工智能·算法·开源软件
Zephyr_018 小时前
Leedcode算法题
java·算法
流年如夢18 小时前
栈和列队(LeetCode)
数据结构·算法·leetcode·链表·职场和发展
Hello.Reader19 小时前
算法基础(十)——分治思想把大问题拆成小问题
java·开发语言·算法
绛橘色的日落(。・∀・)ノ20 小时前
机器学习之评估与偏差方差分析
算法
消失的旧时光-194320 小时前
C语言对象模型系列(四)《Linux 内核里的 container_of 到底是什么黑魔法?》—— 一篇讲透 Linux 内核的“对象模型”核心技巧
linux·c语言·算法