C.滑动窗口-求子数组个数-越长越合法——3325. 字符至少出现 K 次的子字符串 I

题目链接:3325. 字符至少出现 K 次的子字符串 I(中等)

算法原理:

解法:滑动窗口

跟模板题基本一样👇

C.滑动窗口-求子数组个数-越长越合法------1358. 包含所有三种字符的子字符串数目(模板)

答疑

Q1:为什么只需判断进窗口元素出现的次数就可以呢?

因为只有进窗口的元素有可能次数超过K

Java代码:

java 复制代码
class Solution {
    public int numberOfSubstrings(String ss, int k) {
        int[] hash=new int[26];
        char[] s=ss.toCharArray();
        int ret=0,left=0;
        for(char c:s){
            //进窗口
            hash[c-'a']++;
            //出窗口
            while(hash[c-'a']>=k)
                hash[s[left++]-'a']--;
            //更新
            ret+=left;
        }
        return ret;
    }
}
相关推荐
Chester_19994 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
裕晟资质规划6 小时前
武器装备科研生产单位保密资质申请方法论:条件模型与流程拆解
人工智能·算法
是隼人7 小时前
buuctf-pwn xdctf2015_pwn200题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
en.en..7 小时前
C语言 标准输入 / 输出缓冲区
算法
吃好睡好便好8 小时前
查找函数的使用
学习·算法·matlab·生活·查找函数
学习星球9 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
专注仿真9 小时前
Spring AI 实现智能对话系统项目指南
数据结构·spring·机器学习
靠沿10 小时前
贪心算法专题(二)
算法·贪心算法
布莱克60510 小时前
数组详解:定义、作用、应用场景及与链表的区别(C/C++ 代码讲解)
c语言·开发语言·c++·数组
间歇性努力持续性发呆的野生快乐选手10 小时前
高级数据结构:树状数组
数据结构