news 2026/2/8 4:33:54

为什么你的滑动窗口总是写不对?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么你的滑动窗口总是写不对?

求解思路

这道题直接求解很困难,因为我们既要保证每种字符出现次数≥k,又要让子串尽可能长,这两个条件相互制约难以平衡。

但如果我们换个角度,先固定子串中必须恰好包含require种不同的字符,然后在这个约束下用滑动窗口找最长子串,问题就变得简单了。我们从require=1开始枚举到require=26(英文字母最多26种),对于每个require值,用双指针维护一个窗口,右指针不断扩展收集字符,当窗口中的字符种类数超过require时,左指针就收缩窗口把多余的字符吐出去,在满足"种类数等于require且每种字符次数都≥k"这个条件时更新答案。

代码实现

publicstaticintlongestSubstring(Stringstr,intk){char[]s=str.toCharArray();intn=s.length;int[]cnts=
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/8 3:08:44

穿越机PID参数调节

前言 之前发了一篇用RPY滑块调PID参数的,虽然飞的手感还可以,但是从PTB工具分析后 还是有超调(在飞机的表现就是有回弹),所以想直接调整PID参数来达到理想效果。 直接调整PID 我们取消PRY模式,直接进行P…

作者头像 李华
网站建设 2026/2/2 8:46:47

【RCE】利用 Python 沙箱绕过实现任意代码执行的完整案例分析

本文内容仅供学习交流使用,未经授权不得进行非法渗透测试。 文章目录 背景 1.利用 ctypes 绕过黑名单 2.基于时间回显:time-based Blind 技巧 3.使用 raise 主动回显异常 4.通过 importlib/imp 绕过黑名单导入模块 5.利用写文件 + import 的方式进行自定义模块注入 6.compile…

作者头像 李华
网站建设 2026/2/8 3:13:51

HarmonyOS 5 极致动效实验室:给 UI 注入“物理动效”

大家好,我是不想掉发的鸿蒙开发工程师城中的雾。 前两期我们聊了“怎么动”和“怎么飞”,今天这期咱们聊点用户操作体验相关的——“手感”。 为什么有的 App 滑动起来像是在摸丝绸,有的却像是在磨砂纸?为什么 iOS 的控制中心滑…

作者头像 李华
网站建设 2026/2/3 17:09:06

Nextcloud文件压缩下载实用指南:轻松管理云端文件

Nextcloud文件压缩下载实用指南:轻松管理云端文件 【免费下载链接】server ☁️ Nextcloud server, a safe home for all your data 项目地址: https://gitcode.com/GitHub_Trending/se/server 还在为Nextcloud中大量文件的下载而烦恼吗?想要一次…

作者头像 李华
网站建设 2026/2/3 8:27:55

YashanDB数据库的多活架构设计与实施经验分享

如何实现数据库的高可用性与强一致性,同时支持多实例并发读写,是当前数据库技术面临的重要挑战。多活架构作为解决方案,能够有效提升系统的容错能力和业务连续性,但其设计和实现复杂,尤其是在保障数据一致性、优化性能…

作者头像 李华