#3 无重复字符的最长子串(中等)

无重复字符的最长子串(Python3解法) 题目: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例: 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复字符的... 阅读详情

题目

给定一个字符串,请你找出其中不含有重复字符的 最长子串(非子序列) 的长度。
示例 1:

输入: "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

示例 2:

输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。

示例 3:

输入: "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
     请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

代码

  1. 滑动窗口
    时间复杂度:O(n)
#include<algorithm>
class Solution {
public:
   int lengthOfLongestSubstring(string s) {
       int len = s.size();
       int ans = 0;
       int index[128] = {0};   //存放若一个字符出现重复,i下一步应该到哪个索引位置
       //滑动窗口 [i, j]
       for (int j = 0, i = 0; j < len; j++) {
           i = max(index[s[j]], i);    //i取若一个字符重复出现,最新的下一个索引位置
           ans = max(ans, j - i + 1);
           index[s[j]] = j + 1;    //存放下一个索引位置
       }
       return ans;
   }
};
题3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: "pwwkew" 输出: 3 解释: ... 阅读详情

相关推荐

Cadence17.2 > Allegro > 检查PCB Layout信号线组等长

Cadence17.2 > Allegro > 检查PCB Layout等长和配线

DL_62532的专栏 1万+

【力扣中等题】#3 无重复字符的最长子串

无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s = “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: s = “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。 请注意,你的答案必须是 子串 的长度,

qq137624351的博客 135

这可是全网网工数通方向学习路线最完整,最详细的版本,没有之一

文章篇幅较长,耐心看完你一定有所收获。

最铁头的网工博客 2万+

力扣#3 无重复字符的最长子串(难度:中等)

题目: 给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。 解题思路: 本题考查双指针+滑动窗口思想。 每次用双指针和一个哈希map维护一个子串,哈希表中以(字符,出现下标)的格式记录字串信息,前指针记录子串的开始,后指针向后移动,当移动到一个map中存在的字符,滑动窗口向后移动,分为两个步骤: 1. 首先确定前后指针的位置,由于后指针指向的字符与字串中某个字符重复,所以前指针为哈希表中记录的重复字符出现的下标的下一个位置,后指针向后移动一个, 2. 更新哈希表和最长字串长度...

nlp87v5的博客 242

实测对比:DeepSeek、豆包、千问三大AI模型生成测试用例谁更强?(附完整代码)

本文通过实测对比了DeepSeek、豆包、千问三大AI模型在生成测试用例方面的表现。文章提供了完整的Python代码实现,详细分析了各模型在用例完整性、准确性、边界覆盖及幻觉控制等维度的差异,并分享了工程化集成与多模型融合等优化策略,旨在帮助测试团队选择合适工具以提升工作效率。

ik6789012的博客 943

Robocup 仿真2D 学习笔记(二) 球队代码编译和上场

环境的一些问题 最近在使用rcssserver 和 rcssmonitor时可能会遇到./configure失败的问题,可以检查一下文件夹是否有makefile文件,如果是编译后的包直接sudo make install,如果还不行,还可以源码下载编译 rcssserver: https://sourceforge.net/projects/sserver/files/rcssserver/...

markchalse的博客 6014

无重复字符的最长子串

无重复字符的最长子串

weixin_42029738的博客 1万+

从C到汇编:单片机汇编语言核心概念迁移指南

本文详细介绍了从C语言迁移到单片机汇编语言的核心概念与实践指南,特别适合嵌入式开发者。文章深入探讨了汇编语言在性能优化、时序控制等方面的独特优势,并提供了变量存储、函数实现、流程控制等关键概念的对应关系,帮助开发者高效掌握汇编编程技巧。

weixin_31887307的博客 346

LeetCode_3_中等_无重复字符的最长子串

LeetCode_3:无重复字符的最长子串(中等)

Linshaodan520的博客 1556

SAP PS 收入确认方法配置清单(成本推导收入 / 项目进度推导收入)

摘要:本文详细介绍了SAPPS模块中两种收入确认方法的配置流程:成本推导收入(成本比例法)和项目进度推导收入(里程碑法)。通过事务码OKG1-OKG5等关键配置步骤,分别实现基于累计成本比例和里程碑完成权重的收入确认逻辑。文章对比了两种方法的适用场景和管控要点:成本法适用于成本与进度强相关的项目,需严控预计总成本;进度法则依赖明确的里程碑验收。同时提供了落地建议,包括项目类型绑定、数据校验和变更管控等最佳实践,为SAPPS系统收入确认功能实施提供完整指导。

金牌架构师 952

【腾讯小龙虾WorkBuddy专栏04】一文搞懂WorkBuddy的「专家」和「专家团」

WorkBuddy专家与专家团:专业级AI协作解决方案 WorkBuddy的专家(Expert)与专家团(Expert Team)功能颠覆了通用AI的局限性,提供角色化、可交付的专业服务。 核心优势 专家:深度垂直领域的AI顾问,具备人设、方法论、工具链,如全栈开发专家能直接交付完整项目,而非代码片段。 专家团:多智能体协作,自动拆解复杂任务(如竞品分析、全栈开发)并分发给对应角色,并行执行后整合输出,效率提升显著。 使用场景 单专家:解决专业问题(如SQL优化、UI设计)。

AI人人懂 2019

算法无重复字符的最长子串

无重复字符的子串是指在一个字符串中,没有任何字符重复出现的连续子序列。例如,在字符串 “abcabcbb” 中,最长的无重复字符子串是 “abc”,长度为3。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 2164

基于Simulink的电气弹簧ES稳压控制模型仿真

在本文中,我们将使用Simulink建立一个ES稳压控制系统的模型,并通过仿真验证其性能。接下来,我们配置了各个组件的参数,包括电源电压、负载电流以及ES和控制器的传递函数。通过调整模型中的参数和控制算法,我们可以进一步优化系统的性能并实现更好的电压稳定调节。该系统通过对电力系统中的ES进行控制,调整其阻尼特性,以实现对电压的稳定调节。例如,我们可以设置电源的电压值、负载的电流值,以及控制器的参数(如PID控制器的比例、积分和微分增益)。反馈控制可以根据测量值来调整控制器的输出,从而实现对电压的稳定调节。

DevProZ的博客 421

【LeetCode #3 题解】 无重复字符的最长子串

【LeetCode #3 题解】 无重复字符的最长子串一、题目二、题解:双指针暴力查找法 8ms 5.4M三、惊呆:双指针暴力查找法 优化后 4 ms ? 假的3.1 优化点1:指针赋值初始化,优化0.2M 内存四、hash 表实现 一、题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字

|~~~热爱生活、努力学习的小伙汁~~~| 1382

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【无重复字符的最长子串】

【无重复字符的最长字串】——双指针+哈希表,使用Python求解

weixin_70673823的博客 2110

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

仓颉语言实战:无重复字符的最长子串工具库

在日常开发中,字符串处理是最常见的任务之一。寻找无重复字符的最长子串是一个经典的算法问题,它不仅考察开发者对字符串的理解,更体现了滑动窗口这一重要算法思想的运用。今天,我将带大家使用华为推出的新一代编程语言——仓颉语言,从零开始构建一个高效、优雅、测试完备的无重复字符最长子串工具库。本文将详细讲解从问题分析、算法设计到代码实现的完整过程,包括核心算法、优化技巧、单元测试以及工程化实践,希望能为正在学习仓颉语言和算法的开发者提供一个实用的参考案例。在深入代码之前,让我们先理解问题的定义。// 滑动窗口模板。

池央的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

3.无重复字符的最长子串 python

通过这种方法,我们可以在一次遍历中找到最长的无重复字符子串,时间复杂度为 (O(n)),空间复杂度为 (O(min(n, m))),其中 (n) 是字符串的长度,(m) 是字符集的大小。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。输入: s = “abcabcbb”

sysu63的博客 1366

leetcode-3-python-无重复字符的最长子串

‘’’ leetcode-3 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: "pwwkew" 输出...

赵亮的优快云博客 1232

LeetCode 3.无重复字符的最长子串

LeetCode 3.无重复字符的最长子串

2301_81161051的博客 985

LeetCode 无重复字符的最长子串

文章目录无重复字符的最长子串题目解题思路代码实现实现效果 无重复字符的最长子串 题目来源:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 题目 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字...

"大梦三千秋的博客 795

LeetCode-Python-3. 无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最...

Keep Coding 7769

力扣(LeetCode):#3-无重复字符的最长子串

文章目录力扣(LeetCode):#3-无重复字符的最长子串题目描述:题解:方法一:滑动窗口 力扣(LeetCode):#3-无重复字符的最长子串 题目描述: 题解: 方法一:滑动窗口 C++ class Solution { public: int lengthOfLongestSubstring(string s) { // 哈希集合,记录每个字符是否出现过 unordered_set<char> occ; int n = s.s

忘尘丶莫负的博客 371

3.无重复字符的最长子串

3 无重复字符的最长子串 最近好久没有更新文章了,就更新一篇 LeetCode 的一篇算法的题目. 题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度...

阿常呓语的专栏 275

LeetCode #3 无重复字符的最长子串

LeetCode #3 无重复字符的最长子串 题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 : 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 传送门:LeetCode #3 无重复字符的最长子串 题目分析 左右两个指针,做滑动窗口,通过判断右指针的元素是否出现过,来决定左指针是否跳跃。同时,不断更新...

Jason7even的博客 167

LEETCODE的第三题——无重复字符的最长子串(滑动窗口)

本文主要用于记录刷力扣的题解,想通过深度学习力扣的每一道题目的原理来提高自己。下面内容为自己学习时的记录,如有错误,欢迎指正🍭。

everything is possible,anything is OK. 1315
上一篇: #2 两数相加(中等)
下一篇: #4 寻找两个有序数组的中位数(困难)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值