leetcode--无重复字符的最长子串--python
文章目录
- 题目
- 题目详情
- 示例
- 解题代码
- 思路
- 代码
- 运行结果
- 最佳方案
题目
题目详情
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
输入: "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
解题代码
思路
- 如果需要查找到最长的子串,那么久需要记录子串的位置,值,以及长度。
- 那么我们直接用到字典,字典可以记录子串的位置,以及值
- 如abcabcd,字典中会存下a,b,c分别的值和位置,后面遇到的时候会更新他们新的位置,以便d能够以连续的位置存下。
代码
class Solution:def lengthOfLongestSubstring(self,s):dic = {}i , length = 0 , 0for j in range(len(s)):if s[j] in dic:i = max(dic[s[j]] , i) #最长子串的初始位置length = max(length,j-i+1) #求最长子串的长度dic[s[j]] = j + 1 #最长子串的值和位置return length
运行结果
最佳方案
用时64ms的最快的一个解决方案:
class Solution:def lengthOfLongestSubstring(self, s: 'str') -> 'int':start = best = 0checked = {}for i in range(0, len(s)):if s[i] in checked and checked[s[i]] >= start:start = checked[s[i]] + 1else:if i+1-start > best:best = i+1-startchecked[s[i]] = ireturn best
leetcode--无重复字符的最长子串--python相关推荐
- leetcode 无重复字符的最长子串
给定一个字符串,找出不含有重复字符的最长子串的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 ...
- 无重复字符的最长子串php,LeetCode - 无重复字符的最长子串 - Golang
题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 `"abc ...
- 无重复最长子串python_leetCode 无重复字符的最长子串 python(Longest Substring Without Repeating Characters) python...
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. Default 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &quo ...
- LeetCode:无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度. 示例一: 示例二: 示例三: 思路分析: 首先定义一个Set集合存储多个字符,同时定义一个右指针rk=-1,外层套一个循环定义左指针 ...
- python输入多个字符串、输入最长的一串_无重复字符的最长子串(Python之暴力求解)...
无重复字符的最长子串(Python之暴力求解) 例题: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例: (1) 输入: "abcabcbb" 输出: 3 ...
- 刻意练习:LeetCode实战 -- Task16. 无重复字符的最长子串
背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...
- 【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; ...
最新文章
- POJ1523 SPF tanjar割点求块数
- python让工作自动化_python操作excel让工作自动化
- SpringMVC核心流程图
- 牛客 - 养花(最大流)
- d3.js 简介和安装
- GitHub多人协作简明教程
- ubuntu14.04+gtsam安装(亲测)
- Redis 5.0.8+常见面试题(单线程还是多线程、先更新缓存还是数据库、雪崩穿透击穿解决办法...)
- Java版本中最好用的网易云音乐、qq音乐api请求工具,你还在忙于如何使用java调音乐api?来看下这里的实现
- Chango的数学Shader世界(十八)RayTrace三维分形(三)—— 完善,距离场软阴影
- 远程控制teamviewer|远程桌面teamviewer|远程桌面连接软件teamviewer|teamviewer无人值守
- uni-app 使用 @touchmove.stop.prevent 导致弹框内容无法滚动
- 使用SaltStack Returner将Salt作业信息接入Elasticsearch的实践(踩坑)
- jpg转bmp c语言 linux,C++_C语言实现BMP转换JPG的方法,本文实例讲述了C语言实现BMP转 - phpStudy...
- 京东产品上架如何批量上传商品素材?
- 移动宽带安装说明一(刘欣)
- 永州科技学院有计算机专业吗,湖南永州市科技学院
- 转】用Mahout构建职位推荐引擎
- dockers-系统学习
- html象棋开题报告设计要求,C++游戏设计中国象棋开题报告.docx