LeetCode 1358.包含所有三种字符的子字符串数目:滑动窗口(两种写法直接推荐方法二)
📅 2026/7/2 5:51:25
👁️ 次浏览
【LetMeFly】1358.包含所有三种字符的子字符串数目滑动窗口(两种写法直接推荐方法二)力扣题目链接https://leetcode.cn/problems/number-of-substrings-containing-all-three-characters/给你一个字符串s它只包含三种字符 a, b 和 c 。请你返回 ab 和 c 都至少出现过一次的子字符串数目。示例 1输入s abcabc输出10解释包含 ab 和 c 各至少一次的子字符串为abc, abca, abcab, abcabc, bca, bcab, bcabc, cab, cabc和abc(相同字符串算多次)。示例 2输入s aaacb输出3解释包含 ab 和 c 各至少一次的子字符串为aaacb, aacb和acb 。示例 3输入s abc输出1提示3 s.length 5 x 10^4s只包含字符 ab 和 c 。解题方法滑动窗口使用两个指针时刻满足指针之间的“窗口”是最短的同时包含abc的窗口。滑动方法一枚举窗口起点ll 到 r-1以及r的右边 全合法——推荐方法二两个指针每次左指针l ll右移一位不断右移右指针r rr直到窗口[ l , r ) [l, r)[l,r)中含有三种字母。那么对于起点l ll其到r − 1 r-1r−1合法到话其到r rr、r 1 r1r1、⋯ \cdots⋯、n − 1 n-1n−1共计n − r 1 n-r1n−r1个都合法。滑动方法二枚举窗口终点rl-1以及l-1的左边 到 r 全合法两个指针每次右指针r rr右移一位不断右移左指针l ll直到首次满足窗口[ l , r ] [l, r][l,r]中不含有三种字母。那么[ l − 1 , r ] [l-1, r][l−1,r]、[ l − 2 , r ] [l-2, r][l−2,r]、⋯ \cdots⋯、[ 0 , r ] [0, r][0,r]如果存在(共计l个)均合法。时空复杂度分析时间复杂度O ( l e n ( s ) ) O(len(s))O(len(s))每个字母最多被遍历两次空间复杂度O ( 1 ) O(1)O(1)AC代码C——方法二/* * LastEditTime: 2026-07-01 15:38:27 */classSolution{public:intnumberOfSubstrings(string s){intans0;intcnt[3]{0};for(intl0,r0,ns.size();rn;r){cnt[s[r]-a];while(cnt[0]cnt[1]cnt[2]){cnt[s[l]-a]--;}ansl;}returnans;}};C——方法一/* * LastEditTime: 2026-07-01 15:34:43 */classSolution{public:intnumberOfSubstrings(string s){intans0;intcnt[3]{0};for(intl0,r0,ns.size();ln;l){while(rn!(cnt[0]cnt[1]cnt[2])){cnt[s[r]-a];}// printf(l %d, r %d, cnt {%d, %d, %d}, ans %d\n, l, r, cnt[0], cnt[1], cnt[2], n - r 1);ans(cnt[0]cnt[1]cnt[2])?n-r1:0;cnt[s[l]-a]--;}returnans;}};Python——方法二 LastEditTime: 2026-07-01 15:49:11 classSolution:defnumberOfSubstrings(self,s:str)-int:ans0cnt[0,0,0]lr0forrinrange(len(s)):cnt[ord(s[r])-ord(a)]1whilecnt[0]andcnt[1]andcnt[2]:cnt[ord(s[l])-ord(a)]-1l1anslreturnans同步发文于CSDN和我的个人博客原创不易转载经作者同意后请附上原文链接哦~千篇源码题解已开源
痛点一:控制精度不足导致效率低下传统脉冲控制仪在复杂工况下易出现信号延迟或失真,影响设备同步性。TKZM脉冲控制仪采用高精度时序算法,误差控制在0.1%以内,适用于纺织、包装等需要严格同步的领域。通过动态补偿技术,…
📅 2026/7/2 5:51:25
SOLIDOWORKS- 性价比之选“SOLIDWORKS正版多少钱?”——十个人有十一个答案。性价比的核心不是哪个更便宜,而是多花的钱,能不能从效率或签单里赚回来。正确的提问方式应该是:标准版够用吗?专业版多花1万多能回本吗&…
📅 2026/7/2 5:49:25
在当今的网络安全格局下,企业IT基础设施的脆弱性往往不来自操作系统本身,而是来自那些看似不起眼的第三方应用程序。Adobe Reader、Java、Chrome、WinRAR——这些日常办公中不可或缺的软件,恰恰成为网络攻击者最常利用的突破口。根据微软的统…
📅 2026/7/2 5:49:25
随着精准递送技术与生物医用高分子材料产业的快速迭代,单一靶向修饰试剂已难以满足复杂生物模型与多靶点递送的科研需求,双配体协同改性PEG功能原料逐步成为纳米载体改性领域的研究热点。Galactose-PEG-FA是一类集成半乳糖与叶酸双靶向基团的功能化聚乙二…
📅 2026/7/2 7:15:34
Notepad--跨平台编辑器插件开发终极指南:从零到一的完整实战教程 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad--…
📅 2026/7/2 7:15:34
2026 年,软件开发行业走完了 “AI 辅助编码” 的过渡期,正式迈入智能体(Agent)全流程编程的全新纪元。大模型不再只是编辑器里的代码补全插件,而是贯穿需求拆解、架构生成、自动化测试、部署运维的协作伙伴;…
📅 2026/7/2 7:15:34
1. 项目概述:当大厂把“举一反三”的能力装进无人机里你有没有见过那种在陌生仓库里第一次飞行就能绕开货架、识别托盘、精准悬停的无人机?不是靠提前建模、不是靠激光雷达堆料,而是像人类新手司机一样——先在模拟器里“练”了几千小时&…
📅 2026/7/2 7:15:34
Notepad--跨平台文本编辑器:国产替代的终极选择与完整使用指南 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- …
📅 2026/7/2 7:15:34
前言
最近想体验Claude Code的本地代码辅助功能,却被海外账号、网络配置折腾了半天。索性整理一篇从0到1的实操文,包含Node.js安装、Claude Code部署、API对接和模型切换,适合像我一样的普通开发者,甚至小白。
正文
一、准备工…
📅 2026/7/2 7:13:33
1. 项目概述:从“能用”到“精通”的必经之路如果你正在学习或从事网络安全测试,尤其是Web应用安全评估,那么BurpSuite的Intruder模块绝对是你绕不开的核心工具。而Intruder模块里,功能最强大、也最让人又爱又恨的,莫过…
📅 2026/7/2 0:00:33
1. 项目概述:从“找东西”到“精准操控” 做自动化测试,尤其是Web UI自动化,最核心也最让人头疼的一步是什么?不是写复杂的业务逻辑,也不是处理异步加载,而是最基础的—— 让程序找到页面上那个你想操作的…
📅 2026/7/2 0:00:33
1. 项目概述:为什么是Maestro? 如果你正在寻找一个能让你快速上手、告别繁琐配置、并且对移动端UI自动化测试真正友好的框架,那么Maestro很可能就是你一直在等的那个答案。我接触过Appium、Espresso、XCUITest,也折腾过各种基于图…
📅 2026/7/2 0:00:33
6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…
📅 2026/6/30 10:04:37
引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…
📅 2026/7/1 15:35:39
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/2 1:17:03
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/1 0:00:39
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/2 1:36:45