#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 解释: ... 阅读详情

相关推荐

Seurat3.0小提琴图腰围的参数

小提琴图没有有些群没有出现小提琴只有点点,是由于0值比例太多, 一个关键的参数scale = "width"导致了这种局面,应加上上述参数 ggplot(p$data,aes(ident,CD4)) + geom_violin(scale = "width", adjust =1, trim = TRUE) + geom_jitter()+ theme_bw() adjust参数可以调整腰的粗细,eg: ggplot(p$data,aes(ident,CD4)) + geom_violin(scale

Demomwu的博客 1661

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

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

qq137624351的博客 135

STM32+CubeMX实战:5步搞定LWIP HTTP服务器搭建(附常见编译错误解决)

本文详细介绍了基于STM32和CubeMX平台,快速搭建LWIP HTTP服务器的5步实战指南。内容涵盖从项目初始化、LWIP深度配置到解决经典的`HTTPD_FSDATA_FILE`编译错误,并分享了使用VSCode进行高效开发的工作流,旨在帮助嵌入式开发者快速实现网络功能并规避常见陷阱。

weixin_29192365的博客 573

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

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

nlp87v5的博客 242

百度智能云ASR实战:5分钟搞定Unity语音转文字(含完整代码)

本文详细介绍了如何在Unity中集成百度智能云ASR服务,实现高效的语音转文字功能。从环境配置、音频处理到服务端通信,提供完整代码示例和实战优化技巧,帮助开发者快速实现语音交互功能,适用于游戏开发、XR应用等场景。

ujm56789012的博客 215

HDMI设计2----EDID and E-EDID

1,EDID是什么?有什么用? 图1 应用场景 如图1所示的应用场景,PC将视频信号发送 到我们的设备上,经过一系列的传输和切换,设备将视频信号发送到显示器或者投影机上,也就是说,我们的设备位于PC和显示器之间。首先,在输入端,设备需要让PC知道自己是能够接受输入视频信号的,让PC认为自己是一台显示器。如果不这样做的话,PC可能会拒绝输出任何视频信号的(VGA接口不需要EDID也能输出)。除此之外,设备还要告诉PC自己支持的显示时序。而在输出端,当设备需要自建输出时序而不是简单的复制...

Archar_Saber的博客 7988

无重复字符的最长子串

无重复字符的最长子串

weixin_42029738的博客 1万+

深入理解 DDR5 Bank Group 与并行调度机制

Bank Group架构和并行调度机制,是DDR5性能跃升的核心秘密!理解它们才能写出高效调度程序,设计出性能强劲又稳定的DDR5系统。🎯记住:Bank Group不是简单的分组,而是高速并行的“魔法钥匙”,巧用它,你的DDR5设计将爆发惊人性能!

weixin_43199439的博客 312

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

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

Linshaodan520的博客 1556

ASM准入小助手卸载没有密码的方法:读取明文密码2024年7月有效

在一次工作过程中,电脑中意外的安装了一个ASM准入小助手软件,工作结束以后回来发现没有卸载,然后就决定把它卸载掉,但是居然给了我一个大大的提示框:由于联系不到当时给我安装的那个人了,所以一时陷入了焦灼的状态,因为我安装另一个终端准入,会直接提示冲突了。所以经过注册表(regedit)、任务管理器等各种折腾之后,最后都失败了,然后想起了多年前在吾爱论坛学到过的东西,最后意外的找到了密码,然后就完美成功卸载了。

布啦啦 7804

如何在多 GPU 配置上运行 Unsloth:数据并行或模型并行

当工作负载受限于内存(模型或批次无法放入单张显卡)、或受限于计算且计算与通信比率较高时(即每块 GPU 的额外计算量超过同步参数的开销,如在 DDP 中,或超过传递激活值的开销,如在模型并行中),多 GPU 配置才开始显现优势。在松散连接的显卡上(尤其是 PCIe 版本的 H100 或 A100),额外的设备间数据传输会导致性能显著低于单 GPU 运行。让我们厘清概念,明确说明如何通过模型并行(将模型拆分到多个 GPU)或数据并行(在每个 GPU 上复制模型)来跨多 GPU 运行 Unsloth。

人工智能领域专家 646

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

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

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

8、硬件工程师笔试面试知识器件篇——二极管(2025版本)

当二极管正向偏置时(阳极相对于阴极为正电压),PN结内部的电场减小,允许电子和空穴复合,形成电流。而当二极管反向偏置时,PN结的电场增强,阻止电流通过。在接触区域,P型半导体中的空穴和N型半导体中的自由电子会相互扩散和复合,形成一个没有自由载流子的耗尽区。在设计电子电路时,平衡二极管的正向电压降(Vf)和最大电流(I)是一个重要的考虑因素,因为这两者直接影响电路的性能和效率。通过这些步骤,可以确保在设计电子电路时选择的二极管能够安全地处理预期的最大正向电流和最大反向电压,从而提高电路的可靠性和安全性。

XU157303764的博客 3501

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

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

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

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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

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

weixin_70673823的博客 2110

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

池央的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

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、付费专栏及课程。

余额充值