最长不重复子串python_python经典算法题:无重复字符的最长子串

题目:无重复字符的最长子串。

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

示例 1:

输入: “abcabcbb”

输出: 3

解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。

示例 2:

输入: “bbbbb”

输出: 1

解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。

示例 3:

输入: “pwwkew”

输出: 3

解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。

请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。

解法1:常规思路

class Count:

def __init__(self):

self.curLength = 0

def compare(self, temp: str):

lens = len(set(temp))

if lens != len(temp):

return False

else:

self.curLength = lens

return True

def circulation(self, s: str):

flag = False

length_s = len(s) # 8

temp = ""

j = 0

while j + self.curLength < length_s: # 1+0<8

temp = s[j:j + self.curLength + 1] # temp = "a"

if self.compare(temp): # tem不重复

continue

else:

j += 1

return self.curLength

解法2:神仙思路(网上看的)

class Solution:

def lengthOfLongestSubstring(self, s):

"""

:type s: str

:rtype: int

"""

st = {}

i, ans = 0, 0

for j in range(len(s)):

if s[j] in st:

i = max(st[s[j]], i)

ans = max(ans, j - i + 1)

st[s[j]] = j + 1

return ans

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python构造referer_Python爬虫小偏方:修改referer绕开登录和访问频率限制

看官们在写爬虫程序时应该都会遇到如下问题&#xff1a;你的爬虫程序开发时能正常抓取网页&#xff0c;但是正式大量抓取时&#xff0c;抓取的网站总是返回403或者500等&#xff1b;你抓取的网站需要登录&#xff0c;要花大量时间去研究网站登录流程。遇到问题1&#xff0c;我们…

微信流媒体直播java_微信小程序直播带货教程

微信小程序直播带货教程微信小程序正式推出直播带货组件&#xff0c;很多正在使用 “api工厂” 的用户&#xff0c;这几天一直在问&#xff0c;现有小程序如何使用直播带货的功能&#xff0c;需要不需要做很复杂的改动&#xff1f;是否需要重新开发小程序&#xff1f;使用门槛高…

铺砖问题JAVA_java彩色瓷砖编程题分析

牛牛喜欢彩色的东西,尤其是彩色的瓷砖。牛牛的房间内铺有L块正方形瓷砖。每块砖的颜色有四种可能:红、绿、蓝、黄。给定一个字符串S, 如果S的第i个字符是R, ‘G, ‘B或Y,那么第i块瓷砖的颜色就分别是红、绿、蓝或者黄。牛牛决定换掉一些瓷砖的颜色,使得相邻两块瓷砖的颜色均不相…

python灰度图像为什么显示成彩色的_python opencv image 怎么变成伪彩色

匿名用户1级2017-05-16 回答OpenCV 生成 伪彩色图像opencv中没有易用的伪彩色图像生成函数&#xff0c;这里提供一个改造过的函数&#xff0c;利用自定义colorbar 将灰度图像转换成为伪彩色图像&#xff0c;优点在于提供了对于颜色的直观可操控性&#xff0c;转换方便。函数代码…

vue和java实现页面增删改_SpringBoot-Vue实现增删改查及分页小DEMO

前言主要通过后端 Spring Boot 技术和前端 Vue 技术来简单开发一个demo&#xff0c;实现增删改查、分页功能以及了解Springboot搭配vue完成前后端分离项目的开发流程。开发栈前端开发工具&#xff1a;WebStorm开发框架&#xff1a;vue axios包管理工具: npm打包工具&#xff1…

读取24位ad的值_实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值

摘要&#xff1a;一文带你用小熊派开发板动手做土壤湿度传感器。一、实验准备1.实验环境一块stm32开发板&#xff08;推荐使用小熊派&#xff09;&#xff0c;以及数据线已经安装STM32CubeMX已经安装KeilMDK,并导入stm32开发板对应的芯片包&#xff08;小熊派使用的是STM32L431…

java 计算两个时间戳_Java时间戳计算重叠持续时间与间隔

我相信下面的方法给出了你的Joda时间解的等价物。private static final LocalTime START LocalTime.of(18, 0);private static final LocalTime END LocalTime.of(8, 0);public static Duration overlap(ZonedDateTime currentStart, ZonedDateTime currentEnd) {ZonedDateTi…

python ini文件删除修改_如何在INI文件中编写时删除空格 - Python

这是RawConfigParser.write的定义&#xff1a;def write(self, fp):"""Write an .ini-format representation of the configuration state."""if self._defaults:fp.write("[%s]\n" % DEFAULTSECT)for (key, value) in self._defaults…

php 如何守护进程_PHP 如何实现守护进程

PHP 如何实现守护进程发布时间&#xff1a;2020-07-11 15:29:31来源&#xff1a;亿速云阅读&#xff1a;58作者&#xff1a;LeahPHP 如何实现守护进程&#xff1f;针对这个问题&#xff0c;这篇文章详细介绍了相对应的分析和解答&#xff0c;希望可以帮助更多想解决这个问题的小…

python requests session刷新_Python Requests Session set-cookie不生效的坑

我们知道 Python Requests库 中的 Session 模块有连接池和会话管理的功能&#xff0c;比如请求一个登录接口后&#xff0c;会自动处理 response 中的 set-cookie&#xff0c;下次再请求时会自动把 cookie 带上。但最近出现了一个诡异的事情&#xff0c;cookie 没有自动带上&…

php redis与me m,Redis(十) —— 为php增加redis扩展

chenchen-ubuntu:~/download$ ls | grep phpredisphpredis-master.zip# 解压缩chenchen-ubuntu:~/download$ unzip phpredis-master.zip# 进入安装目录chenchen-ubuntu:~/download$ cd phpredis-master/chenchen-ubuntu:~/download/phpredis-master$ lsarrays.markdown debian …

php查询变量类型,php判断变量类型常用方法

php 判断变量类型常用的函数主要有下列几个&#xff1a;gettype()、is_array()、is_bool()、is_float()、is_double()、is_integer()、is_null()、is_numeric()、is_object()、is_resource()、is_scalar() 和 is_string()现在让我们了解下他们的具体的使用方法gettype() 返回 P…

mac 爱普生打印机驱动_高效打印企业首选 爱普生M2178黑白多功能一体机评测

提到打印机相信每一个公司都配备了一台&#xff0c;因为它是日常办公中不可缺少。尽管现在很多的工作流程都已经可以在线上执行&#xff0c;且提倡无纸化办公&#xff0c;但很多重要的材料还是需要打印出来存档、签字。因此打印机还是一个非常必要的配置。对于一个企业来讲&…

python线程池操作_Python mutiprocessing多线程池pool操作示例

本文实例讲述了Python mutiprocessing多线程池pool操作。分享给大家供大家参考&#xff0c;具体如下&#xff1a;python — mutiprocessing 多线程 pool脚本代码&#xff1a;root72132server:~/python/multiprocess# lsmultiprocess_pool.py multprocess.pyroot72132server:~/p…

php ajax 加载列表,Ajax点击不断加载数据列表(图文教程)

这篇文章主要介绍了Ajax点击不断加载数据列表的相关资料,需要的朋友可以参考下Ajax简介AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML)&#xff0c;是指一种创建交互式网页应用的网页开发技术。AJAX 异步 JavaScript和XML(标准通用标记语言的子集)。AJAX 是…

python指定进程断网_python通过scapy模块进行arp断网攻击

前言&#xff1a;想实现像arpsoof一样的工具arp断网攻击原理&#xff1a;通过伪造IP地址与MAC地址实现ARP欺骗&#xff0c;在网络发送大量ARP通信量。攻击者只要持续不断发送arp包就能造成中间人攻击或者断网攻击。0x01:准备工作Linux环境下:(windows环境下各种错误&#xff0c…

linux版_微软爱 Linux:安全杀毒软件 Defender ATP 要出 Linux 版了! | Linux 中国

微软宣布将于 2020 年将其企业安全产品 Defender 高级威胁防护(ATP)引入 Linux。-- Abhishek Prakash微软的年度开发者大会 Microsoft Ignite 刚刚结束&#xff0c;会上发布了一些与 Linux 有关的重要公告。你可能已经知道微软将 Edge Web 浏览器引入 Linux&#xff0c;而下一个…

php下载文件与服务器有关吗,php 下载文件功能中下载后文件大小与服务器源文件大小不一致...

1.根据网上下载文件的函数public function putFile($file_dir, $file_name){$file_dir chop($file_dir);//去掉路径中多余的空格//得出要下载的文件的路径if($file_dir ! ){$file_path $file_dir;if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) ! /)$file_path…

python哪个文字转语音好用_【python3】Python十行代码搞定文字转语音

都是copy的百度SDK文档&#xff0c;简单说说怎么用。1、没安装Python的参见此文&#xff1a;Python学习笔记系列 1 ——安装调试Python开发软件2、winr输入cmd打开命令行&#xff0c;输入&#xff1a;pip install baidu-aip&#xff0c;如下安装百度AI的模块。3、新建文本文档&…

php正则匹配怎么写,正则表达式 - 求助怎么写php的正则匹配

我要取出 字符串"userasdasd; tokendwwewee; typeassdfs" 里的token值dwwewee&#xff0c;php怎么写&#xff1f;真的不会写。。这样好像也不行preg_match("/(token)(.*?)(;|$)/i","userasdasd; tokendwwewee; typeassdfs", $matches);foreach …