leetcode 3258.统计满足k约束的子字符串

思路一:首先直接三重循环暴力,用substring解决子字符串的截取问题。

class Solution {public int countKConstraintSubstrings(String s, int k) {if(s.length()<=0)return 0;int n=s.length();int res=0;for(int i=0;i<n;i++){for(int j=0;j<=i;j++){int cnt1=0;int cnt0=0;String buf=s.substring(j,i+1);for(int k1=0;k1<buf.length();k1++){if(buf.charAt(k1)=='1')cnt1++;elsecnt0++;}if(cnt0<=k||cnt1<=k){res++;}}}return res;}
}

思路二:滑动窗口,一般面对子字符串问题,我们应该想到双指针,前缀和,以及滑动窗口这样一系列的技巧。

滑动窗口稍微复习一下,可变滑动窗口,窗口里面的连续子字符串都是满足题意的,所以在计数子字符串数量的时候,需要额外注意一下。

还有,左指针通常是不会变的,除非窗口内的东西是不满足题意的,一般都是右指针动。然后在指针动的同时,我们一遍计数,一遍判断即可。

class Solution {public int countKConstraintSubstrings(String s, int k) {int n=s.length();if(n==1)return 1;int res=0;int l=0;int cnt[]=new int[2];for(int r=0;r<n;r++){cnt[s.charAt(r)-'0']++;while(cnt[1]>k&&cnt[0]>k){cnt[s.charAt(l++)-'0']--;}res+=r-l+1;}return res;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/14138.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

开源共建 | 长安链开发常见问题及规避

长安链开源社区鼓励社区成员参与社区共建&#xff0c;参与形式包括不限于代码贡献、文章撰写、社区答疑等。腾讯云区块链王燕飞在参与长安链测试工作过程中&#xff0c;深入细致地总结了长安链实际开发应用中的常见问题及其有效的规避方法&#xff0c;相关内容多次解答社区成员…

什么是RAG? LangChain的RAG实践!

1. 什么是RAG RAG的概念最先在2020年由Facebook的研究人员在论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中提出来。在这篇论文中他们提出了两种记忆类型&#xff1a; 基于预训练模型&#xff08;当时LLM的概念不像现在这么如日中天&#xff0…

第二十一章、Qt对XML文件进行读写操作详解

目录 一、XML文件的简介 二、QXML的接口介绍 三、XML示例 四、QXML的介绍 5.1、QDomDocument详解 5.2、QDomElement详解 5.3、QDomAttr详解 六、使用QXML解析XML示例 七、构建并保存xml 一、XML文件的简介 可扩展标记语言 (Extensible Markup Language, XML) ,标准通…

03-axios常用的请求方法、axios错误处理

欢迎来到“雪碧聊技术”CSDN博客&#xff01; 在这里&#xff0c;您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者&#xff0c;还是具有一定经验的开发者&#xff0c;相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导&#xff0c;我将…

小小的mfc100u.dll文件到底是什么?mfc100u.dll丢失的解决方法有哪些?

对于许多电脑用户来说&#xff0c;软件突然无法启动并显示“mfc100u.dll丢失”是一件非常头疼的事情。你可能正急于完成一份重要的文档&#xff0c;或者沉浸在紧张刺激的游戏关卡中&#xff0c;而这个错误提示就像一盆冷水&#xff0c;无情地浇灭了你的热情。这个小小的mfc100u…

华为eNSP:MSTP

一、什么是MSTP&#xff1f; 1、MSTP是IEEE 802.1S中定义的生成树协议&#xff0c;MSTP兼容STP和RSTP&#xff0c;既可以快速收敛&#xff0c;也提供了数据转发的多个冗余路径&#xff0c;在数据转发过程中实现VLAN数据的负载均衡。 2、MSTP可以将一个或多个VLAN映射到一个Inst…

使用cloudflare搭建私人docker镜像站

背景 大家是否也有docker镜像拉取速度慢&#xff0c;甚至直接拉不下来的情况&#xff0c;我们可以使用cloudflare加速拉取镜像。 申请域名 开始前需要准备cloudflare账号并自购一个域名。域名可以在云厂商购买&#xff0c;可以看到非主流域名比较实惠。 购买完成后在域名控…

晶振选择指南:应对温度波动的关键因素

晶振的选择对于电子设备来说至关重要&#xff0c;尤其是在面对温度波动的情况下。晶振作为时钟信号源&#xff0c;其性能直接影响到设备的稳定性和可靠性。因此&#xff0c;在选择晶振时&#xff0c;需要根据实际应用场景以及对时钟精度的要求来进行。以下是一些建议&#xff1…

gpu-V100显卡相关知识

一、定义 RuntimeError: FlashAttention only supports Ampere GPUs or newer.torch attention注意力接口学习V100 架构是什么&#xff1f; 二、实现 RuntimeError: FlashAttention only supports Ampere GPUs or newer. 报错原因分析&#xff1a; GPU机器配置低&#xff0c;…

【go从零单排】HTTP客户端和服务端

&#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力&#xff0c;虚度你的光阴&#xff0c;每天迈出一小步&#xff0c;回头时发现已经走了很远。 &#x1f4d7;概念 在 Go 语言中&#xff0c;net/http 包提供了强大的 HTTP 客户端和服务器功能。 &…

从Web2到Web3:区块链推动的数字进化之路

互联网的演变从最初的Web1到如今的Web3&#xff0c;代表了技术和用户需求的深刻变化。Web3是一个基于区块链技术的全新互联网架构&#xff0c;旨在解决传统互联网&#xff08;即Web2&#xff09;中数据集中化和隐私保护等问题。通过去中心化的机制&#xff0c;Web3不仅能够增强…

vue自定义计算器组件

自定义组件实现以下简单的计算器功能&#xff1a; 创建计算器组件文件calculator.vue&#xff0c;代码如下&#xff1a; <template><div class"calculator"><!-- 当前运算过程显示区域 --><div class"expression">{{ currentExpr…

希音面试:亿级用户 日活 月活,如何统计?(史上最强 HyperLogLog 解读)

本文原文链接 尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格&#xff0c;遇到很多很重要的面试题&#xff1a; 如何 统计一个 网站 的日活、月活数&a…

2023年MathorCup数学建模B题城市轨道交通列车时刻表优化问题解题全过程文档加程序

2023年第十三届MathorCup高校数学建模挑战赛 B题 城市轨道交通列车时刻表优化问题 原题再现&#xff1a; 列车时刻表优化问题是轨道交通领域行车组织方式的经典问题之一。列车时刻表规定了列车在每个车站的到达和出发&#xff08;或通过&#xff09;时刻&#xff0c;其在实际…

Python数据分析NumPy和pandas(三十一、数据聚合)

聚合是指从数组生成标量值的数据转换。上一次学习的代码示例使用了其中几个聚合函数&#xff0c;包括 mean、count、min 和 sum。常见的聚合见下图列表&#xff0c;但是&#xff0c;不仅限于列表中的这组方法。在 GroupBy 对象上调用聚合函数&#xff08;例如&#xff1a; mean…

公链数字钱包开发与加密钱包App原生开发

随着区块链技术的不断发展&#xff0c;数字货币和去中心化金融&#xff08;DeFi&#xff09;的兴起&#xff0c;公链数字钱包的需求日益增加。数字钱包不仅为用户提供存储、管理和交易数字资产的工具&#xff0c;而且也为区块链技术的应用提供了一个重要的入口。开发一个安全、…

0. 0:《跟着小王学Python·新手》

《跟着小王学Python新手》系列 《跟着小王学Python》 是一套精心设计的Python学习教程&#xff0c;适合各个层次的学习者。本教程从基础语法入手&#xff0c;逐步深入到高级应用&#xff0c;以实例驱动的方式&#xff0c;帮助学习者逐步掌握Python的核心概念。通过开发游戏、构…

HTTPTomcatServle之HTTP详解

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/cat…

「数据要素」行业简报|2024.11.上刊

纵观数据要素行业动态&#xff0c;洞察行业风向&#xff0c;把握行业脉搏&#xff01; 一、政策发布 1、《山东省公共数据资源登记管理工作规范(试行)》公开征求意见 11月7日&#xff0c;为认真贯彻落实《中共中央办公厅 国务院办公厅关于加快公共数据资源开发利用的意见》《…

NFS Write IO 不对齐深度分析

背景 最近团队小伙伴弗曼统计了线上用户数据写入对齐情况&#xff0c;通过统计数据发现了一个有趣的现象: 用户写入请求中近 70% 的数据块 4K 不对齐&#xff0c;这也就是说 NFSClient 对大多数的应用写入没有做对齐优化。 下面会从 NFSClient BufferWrite 实现流程的维度解释…