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;
    }
}
相关推荐
wabs6664 分钟前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
hanlin037 分钟前
刷题笔记:力扣第41题-缺失的第一个正数
笔记·算法·leetcode
shehuiyuelaiyuehao40 分钟前
算法50,分治归并,数组中的逆序对
java·算法
阳明山水1 小时前
校准分位数驱动智能库存决策
人工智能·深度学习·算法·机器学习·架构
91刘仁德2 小时前
C++ 继承和多态 设计模式
c语言·c++·笔记
雨落在了我的手上2 小时前
Java数据结构(十四):Map和Set
数据结构
码行山野赴时序归途2 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
库玛西2 小时前
哈夫曼树与前缀编码:数据压缩的贪心核心
c语言·c++·笔记·考研
别动我齐刘海3 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人
zhangfeng11333 小时前
《从“人工适配“到“智能生成“:KernelSwift 跨国产芯片算子迁移全栈方案解读》 —— 强调范式跃迁和跨硬件属性,适合偏架构分析的写法
人工智能·算法·华为·ai编程·npu