news 2026/6/22 20:28:14

[滑动窗口] 10. 无重复字符的最长子串

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[滑动窗口] 10. 无重复字符的最长子串

一. 题目描述

二. 解题思路

1. 暴力解法就是枚举所有子数组,将子数组中的字符放入一个哈希表统计出现次数,有重复则不符合。找出剩余的没有重复的最长的子数组。

2. 因为right指针定位的是重复的第二个元素,所以第一个重复元素及之前的元素到right位置的区间内都会有重复,left直接跳过第一个重复值。

3. left跳过重复值之后,left到right之间一定没有重复值。所以right也不用退回到left的位置重新遍历,所以left和right都是持续向右遍历,同向双指针即为滑动窗口。

4.滑动窗口实现思路:

① 先定义双指针:left = 0,right = 0;

② right指针控制进窗口(就是让字符进入哈希表)

③ 判断窗口内是否出现的重复元素,若出现了持续出窗口(就是从哈希表中删除该字符)直到left跳过了重复元素(即判断是否重复的条件不成立了)

④ 若没出现重复,更新结果(取当前长度和之前最长长度的较大值)

⑤ 结束条件:right走到头了

三. 代码实现

class Solution { public: int lengthOfLongestSubstring(string s) { // 用ASCII码做下标,无冲突哈希表 size_t left = 0, right = 0, len = 0; vector<int> hash(128); while(right < s.size()) { // 进窗口,进一个我就判断一下是否重复 hash[s[right]]++; // 判断 while(hash[s[right]] > 1) { // 重复了,出窗口:从哈希表中删除left指向的内容并left++ // 直到left跳过重复字符 hash[s[left++]]--; } // 没重复 right++; len = max(len, right - left); } return len; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 18:15:32

制造业Java系统Agent+RAG落地:让AI从“会回答”

企业Java系统接入AI&#xff0c;早已不是简单做个问答机器人&#xff0c;而是要让AI深度融入业务流程、对接存量系统、基于真实数据完成闭环任务。AgentRAG是当前企业级AI落地的核心范式&#xff0c;JBoltAI作为面向Java团队的企业级AI应用开发框架&#xff0c;把这一范式封装为…

作者头像 李华
网站建设 2026/6/14 14:35:23

从推荐系统到生物网络:超图(Hypergraph)如何成为处理‘多对多’关系的秘密武器?

从推荐系统到生物网络&#xff1a;超图如何重构复杂关系建模 想象一下&#xff0c;你正在设计一个音乐推荐系统。传统方法可能只考虑用户与歌曲之间的二元关系&#xff0c;但现实情况要复杂得多——用户可能在深夜偏好爵士乐、周末喜欢摇滚、同时关注了三个风格迥异的歌手&…

作者头像 李华
网站建设 2026/4/13 18:14:16

终极指南:使用IDR实现Delphi程序深度逆向工程与安全分析

终极指南&#xff1a;使用IDR实现Delphi程序深度逆向工程与安全分析 【免费下载链接】IDR Interactive Delphi Reconstructor 项目地址: https://gitcode.com/gh_mirrors/id/IDR 在当今的软件安全研究和逆向工程领域&#xff0c;Delphi程序的分析一直是一个技术挑战。ID…

作者头像 李华
网站建设 2026/4/13 18:13:11

微软发布的《生成式人工智能初学者.NET 第二版》课程肇

本课概览 Microsoft Agent Framework (MAF) 提供了一套强大的 Workflow&#xff08;工作流&#xff09; 框架&#xff0c;用于编排和协调多个智能体&#xff08;Agent&#xff09;或处理组件的执行流程。 本课将以通俗易懂的方式&#xff0c;帮助你理解 MAF Workflow 的核心概…

作者头像 李华
网站建设 2026/4/13 18:08:20

Ubuntu 20.04 下 GAMMA 2022 安装避坑全记录:从依赖库版本到环境变量配置

Ubuntu 20.04 下 GAMMA 2022 科学计算环境搭建实战指南 作为一名长期从事遥感数据处理的技术顾问&#xff0c;我见证了太多同行在Linux环境下配置科学计算软件时踩过的坑。特别是像GAMMA这样的专业InSAR处理平台&#xff0c;其安装过程往往成为新手的第一道门槛。本文将分享我在…

作者头像 李华
网站建设 2026/4/13 18:07:09

AutoCAD字体管理终极解决方案:FontCenter智能插件完全指南

AutoCAD字体管理终极解决方案&#xff1a;FontCenter智能插件完全指南 【免费下载链接】FontCenter AutoCAD自动管理字体插件 项目地址: https://gitcode.com/gh_mirrors/fo/FontCenter 还在为AutoCAD图纸中的字体缺失问题而烦恼吗&#xff1f;FontCenter这款革命性的Au…

作者头像 李华