当前位置: 首页 > article >正文

LeetCode:3258.统计满足k约束的子串数量 I(滑动窗口 Java)

目录

3258.统计满足k约束的子串数量 I

题目描述:

实现代码与解析:

滑动窗口

原理思路:


3258.统计满足k约束的子串数量 I

题目描述:

        给你一个 二进制 字符串 s 和一个整数 k

如果一个 二进制字符串 满足以下任一条件,则认为该字符串满足 k 约束

  • 字符串中 0 的数量最多为 k
  • 字符串中 1 的数量最多为 k

返回一个整数,表示 s 的所有满足 k 约束 的子字符串的数量。

示例 1:

输入:s = "10101", k = 1

输出:12

解释:

s 的所有子字符串中,除了 "1010""10101" 和 "0101" 外,其余子字符串都满足 k 约束。

示例 2:

输入:s = "1010101", k = 2

输出:25

解释:

s 的所有子字符串中,除了长度大于 5 的子字符串外,其余子字符串都满足 k 约束。

示例 3:

输入:s = "11111", k = 1

输出:15

解释:

s 的所有子字符串都满足 k 约束。

提示:

  • 1 <= s.length <= 50
  • 1 <= k <= s.length
  • s[i] 是 '0' 或 '1'

Related Topics

  • 字符串
  • 滑动窗口

实现代码与解析:

滑动窗口

//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public int countKConstraintSubstrings(String s, int k) {

        int n = s.length();
        int res = 0;
        int l = 0;
        int cnt0 = 0, cnt1 = 0;
        for (int r = 0; r < n; r++) {
            if (s.charAt(r) == '0') {
                cnt0++;
            }
            if (s.charAt(r) == '1') {
                cnt1++;
            }
            while (cnt0 > k && cnt1 > k) {
                if (s.charAt(l) == '0') cnt0--;
                if (s.charAt(l) == '1') cnt1--;
                l++;
            }
            res += r - l + 1;
        }
        return res;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

原理思路:

        遍历右指针,记录0和1的个数,求出当前右指针情况下,满足条件的最长长度。如果满足条件,收缩左指针,直到满足条件。


http://www.kler.cn/news/359256.html

相关文章:

  • 土豆家族提权
  • pytorch安装GPU版本,指定设备
  • 8.扩散模型的未来---GPT及大模型(1)
  • Linux文件与fd
  • BERT的中文问答系统(羲和1.0)
  • 论文翻译 | OpenICL: An Open-Source Framework for In-context Learning
  • 鸿蒙NEXT开发-网络管理(基于最新api12稳定版)
  • 对BSV区块链下一代节点Teranode的答疑解惑(下篇)
  • 提升SQL技能,掌握数据分析
  • “敌人”追击状态的转换
  • 蒙特卡洛法面波频散曲线反演(matlab)
  • 【机器学习基础】全连接层
  • 【HarmonyOS NEXT】实现保存base64图片到图库
  • wordcloud 字体报错
  • 使用Java发送邮件的多种方案实现
  • 富格林:正规思路实现安全交易
  • 汽车管理系统——查询车辆厂商信息
  • 【学术会议论文投稿】ECMAScript标准:塑造现代Web开发的基石
  • jmeter中用csv data set config做参数化2
  • 读书笔记:《Redis设计与实现》之集群