尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【Leetcode】3. Longest Substring Without Repeating Characters
题目地址https://leetcode.com/problems/longest-substring-without-repeating-characters/给定一个长n nn的字符串求其中的一个最长子串不含重复字母返回其长度。双指针 维护每个字符出现的最后位置。用一个map保存快指针遍历到j jj的时候s [ 0 , . . . , j ] s[0,...,j]s[0,...,j]所有字母最后出现的位置快指针从0 00向后遍历如果遇到了map里未保存的字符说明遇到了新字符子串可以扩展更新答案并且将该字母和它的位置存入map否则说明遇到了重复字符如果该字符出现在慢指针之后那么就将慢指针向后移动到该重复字母之前出现的位置1也就是map里存储的该字符出现的位置1否则不更新慢指针因为慢指针不能回退否则就把重复字符加进s [ i , . . . , j ] s[i,...,j]s[i,...,j]了。这样就仍然保证了[ i , j ] [i,j][i,j]里没有重复元素。代码如下classSolution{public:intlengthOfLongestSubstring(strings){unordered_mapchar,intmp;intres0;for(inti0,j0;is.size();i){if(autoitmp.find(s[i]);it!mp.end())jmax(it-second1,j);resmax(res,i-j1);mp[s[i]]i;}returnres;}};时间复杂度O ( n ) O(n)O(n)空间O ( ∣ Σ ∣ ) O(|\Sigma|)O(∣Σ∣)即字母表大小。优化。signed char范围有限直接开成数组就行。并且输入可以改为string_view。代码如下classSolution{public:intlengthOfLongestSubstring(string_view s){intmp[128];memset(mp,-1,sizeofmp);intres0;for(inti0,j0;is.size();i){if(~mp[s[i]])jmax(mp[s[i]]1,j);resmax(res,i-j1);mp[s[i]]i;}returnres;}};时空复杂度不变。
RELATED

相关推荐

【Leetcode】1. Two Sum

【Leetcode】1. Two Sum

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/30 1:14:45
Matplotlib 实现工业级 WIGB 地震剖面可视化

Matplotlib 实现工业级 WIGB 地震剖面可视化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/30 1:14:45
STM32嵌入式C++调试实战:用GDB穿透抽象直击硬件真相

STM32嵌入式C++调试实战:用GDB穿透抽象直击硬件真相

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/30 1:14:45
MORE NEWS

更多资讯

📰

RBCADS 5.0滚动轴承设计:环境部署、优化出图与寿命校核避坑

简介:这份文档面向轴承产品设计人员、机械专业师生及需要了解滚动轴承CAD流程的工程技术人员,围绕RBCADS 5.0滚动轴承计算机辅助设计系统展开,重点涉及6A角接触球轴承、6B四点接触式角接触球轴承以及6C单列圆锥滚子轴承的公制与英制2005正式版…

📰

Unlimited-OCR-2-bf16 输出协议详解:<PAGE>/<BLOCK>/<FORK> 标签与 Markdown 转换指南

OCR计算机视觉多模态人工智能本地部署 【免费下载链接】Unlimited-OCR-2-bf16 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Unlimited-OCR-2-bf16 点击查看 免费下载 📌 本文带你彻底看懂 Unlimited-OCR-2-bf16 这套 OCR 大模型的输出协…

📰

拆解RedTiger-Tools项目架构:渗透测试OSINT工具的JSON配置、双模式CLI解析与插件注入机制深度解析

【免费下载链接】RedTiger-Tools RedTiger-Tools is a multifunction automation tool dedicated to pentesting and OSINT. The project is open source and designed to be fully configurable according to user needs. It also includes a plugin system that allows users…

📰

5 秒参考音频出中文 TTS:GPT-SoVITS 少样本语音克隆实操指南

5 秒参考音频出中文 TTS:GPT-SoVITS 少样本语音克隆实操指南 【免费下载链接】GPT-SoVITS 1 min voice data can also be used to train a good TTS model! (few shot voice cloning) 项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS GPT-SoVI…

📰

安装前必看的检查清单:如何为 dsh-voice-ai-girlfriend 配好环境?显存、CUDA、WSL2 一次装齐

【免费下载链接】dsh-voice-ai-girlfriend 语音 AI 女友(Voice AI girlfriend for DeepSeek Harness):Whisper 语音输入 Qwen3-TTS 声音克隆 句子级流式朗读 数字人动画窗。插话/排队双模式,说话即打断。 项目地址:…

📰

RapidOCR 5分钟装好,离线跑通多语言 OCR 识别

RapidOCR 5分钟装好,离线跑通多语言 OCR 识别 【免费下载链接】RapidOCR 📄 Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch. 项目地址: https://gitcode.com/GitHub…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬