LeetCode Algorithm 3. 无重复字符的最长子串
3. 无重复字符的最长子串
Ideas
这题有点KMP那味了。
首先定义三个变量:
- left:-1,当前处理字符串长度的左索引的前一位
- res:0,最长子串长度
- idx:{},最长子串中每个字符出现的索引
然后遍历字符串,如果当前遍历到的字符串出现在当前子串中,并且上次出现的索引大于当前子串的左索引,那么就让当前子串的左索引置为其在子串中的位置,否则更新res。
Code
Python
class Solution:def lengthOfLongestSubstring(self, s: str) -> int:left, res, idx = -1, 0, {} # idx 表示某字符出现的索引for i, ch in enumerate(s):if ch in idx and idx[ch] > left: # 如果 ch 在字典中并且上次出现的索引大于当前长度的下标left = idx[ch]else:res = max(res, i - left)idx[ch] = ireturn res
LeetCode Algorithm 3. 无重复字符的最长子串相关推荐
- 刻意练习:LeetCode实战 -- Task16. 无重复字符的最长子串
背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...
- 【Leetcode 3】无重复字符的最长子串
题目描述 2020年8月25日更新 一次遍历 思路: (1)一次遍历,用list存放遍历的连续不重复的子串,当遍历到重复的字符时,用index()方法获得list当中重复字符a的索引,然后将list重 ...
- leetcode算法题--无重复字符的最长子串
题目地址: https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ https://leetc ...
- LeetCode刷题——无重复字符的最长子串
目录 一.题目描述 二.题解 三.源码 一.题目描述 二.题解 三.源码 class Solution(object):def lengthOfLongestSubstring(self, s):&q ...
- 【LeetCode】无重复字符的最长子串【滑动窗口法】
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...
- LeetCode 3. 无重复字符的最长子串(滑动窗口+哈希)
1. 题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 " ...
- LeetCode题库整理【Java】—— 3 无重复字符的最长子串
LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...
- 【LeetCode】【HOT】3. 无重复字符的最长子串(哈希表)
[LeetCode][HOT]3. 无重复字符的最长子串 文章目录 [LeetCode][HOT]3. 无重复字符的最长子串 package hot;import java.util.HashMap; ...
- [贪心|字符串] leetcode 3 无重复字符的最长子串
[贪心|字符串] leetcode 3 无重复字符的最长子串 1.题目 题目链接 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度. 示例1: 输入: "abcabcbb" ...
最新文章
- 无法显示验证码去掉html,后台登陆验证码无法显示
- 前端测试 karma mocha should 都是什么鬼?
- springBoot 在线心理咨询管理系统
- 第十二届蓝桥杯JavaB组省赛H题 杨辉三角形
- ES6-11 Symbol、iterator、forOf、typeArray
- MySQL - cast()函数
- C语言137页答案,综合化学实验答案题库(137页)-原创力文档
- 音视频开发(9)--视频编解码的理论和实践
- 如何用R语言做词云图,以某部网络小说为例
- Chrome 87 发布,获多年来最大性能提升
- 混日子的老程序员感受结对编程的威力【工作效率狂提高】
- 4G与5G 无线技术细节对比
- 翻翻git之---实用工具类Lazy(绝对的好东西,走过路过别错过)
- SIP协议之术语定义
- 微信小程序开发--uniapp
- 男人:你是“橙皮男”还是“草莓男”?
- 用html写一个道歉的代码
- 解决Aria2 BT下载速度慢没速度的问题
- 【MATLAB】— xlsread和xlswrite函数
- 关于几种软件测试分类的方法
热门文章
- 16.实现多个具有相同方法的接口和父类与实现接口有相同方法
- BZOJ1146[CTSC2008]网络管理——出栈入栈序+树状数组套主席树
- 到你是你玩互联网还是互联网玩了你
- winfrom水晶报表的创建
- 基于八叉树快速分类的Shear-Warp交互式体绘制算法
- opensuse 42.2 mysql_【Linux】Grub模式硬盘安装openSUSE 42.2
- html5 打印api,HTML5的API(一)
- django手机访问_Django从入门到大作业:2-见网页
- Java黑皮书课后题第10章:10.4(MyPoint类)设计一个名为MyPoint的类,代表一个以x坐标和y坐标表示的点
- P2700 逐个击破