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

LeetCode 3258.统计满足K约束的子字符串数量1

给你一个 二进制 字符串 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’。

滑动窗口,当窗口内的元素满足K约束时,窗口内的任意子数组也满足K约束:

class Solution {
public:int countKConstraintSubstrings(string s, int k) {vector<int> cnt(2);int left = 0;int ans = 0;for (int i = 0; i < s.size(); ++i) {++cnt[s[i] - '0'];while (cnt[0] > k && cnt[1] > k) {--cnt[s[left] - '0'];++left;}ans += i - left + 1;}return ans;}
};

如果字符串s的长度为n,则此算法时间复杂度为O(n),空间复杂度为O(1)。

相关文章:

  • 蛋糕网站建设毕业论文深圳优化seo排名
  • 个人做外贸网站西安seo公司
  • 解决访问美国网站慢百度云链接
  • 自己创免费网站国际新闻今天最新消息
  • 护栏板销售网站怎么做关键词优化公司如何选择
  • wordpress整合ucenter搜索引擎关键词排名优化
  • 【智能协同云图库】智能协同云图库第二弹:用户管理系统后端设计与接口开发
  • AR美型SDK,重塑面部美学,开启智能美颜新纪元
  • 定制开发开源AI智能名片与S2B2C商城小程序的内容分发体系构建:基于“1+N“素材复用模型的创新实践
  • 如何在 Manjaro Linux 的图像界面上安装 Stremio 而不是使用命令行
  • 服务器不支持PUT,DELETE 的解决方案
  • C# Avalonia 的 Source Generators 用处
  • ZArchiver×亚矩云手机:云端文件管理的“超维解压”革命
  • 以太网基础②RGMII 与 GMII 转换电路设计
  • Spring AOP 中有多个切面时执行顺序是怎样的?
  • 深度学习的人工神经元
  • Node.js 版本管理工具对比:nvm、n、volta
  • 盘口语言 开盘三分钟知涨跌
  • Git常用操作详解
  • Java-中断流程控制
  • .net动态代理模式
  • window显示驱动开发—支持 DXGI DDI(二)
  • 智哪儿专访 | Matter中国提速:开放标准如何破局智能家居“生态孤岛”?
  • 图像融合中损失函数【4】--复杂图像特征的损失函数
  • 南北差异之——理解业务和理解产品
  • 机器学习-线性模型