leetcode 3 python
Posted chenchen1061361123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 3 python相关的知识,希望对你有一定的参考价值。
给定一个字符串,找出不含有重复字符的最长子串的长度。
示例:
给定 "abcabcbb"
,没有重复字符的最长子串是 "abc"
,那么长度就是3。
给定 "bbbbb"
,最长的子串就是 "b"
,长度是1。
给定 "pwwkew"
,最长子串是 "wke"
,长度是3。请注意答案必须是一个子串,"pwke"
是 子序列 而不是子串。
解答:
首先题目中的要找出的是最长无重复子串,不重复的字母之间应该是互相在一起的,思路是首先初始化定义一个最长非空子串的长度为1,其次定义一个子串,类型为字符串。
对题目给定的字符串进行遍历,遇到不重复的加到子串里,如果字母存在于子串中,记录最大长度,并从重复的下一个字母开始。
注意:
最后不要忘记对于循环完事之后的子串和最大子串进行对比。
class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ if not s: return 0 substr=‘‘ longeststr=1 for s1 in s: if s1 not in substr: substr=substr+s1 else: if len(substr)>longeststr: longeststr=len(substr) substr=substr+s1 substr=substr[substr.index(s1)+1:] if len(substr)>longeststr: longeststr=len(substr) return longeststr
以上是关于leetcode 3 python的主要内容,如果未能解决你的问题,请参考以下文章
leetcode_1292. Maximum Side Length of a Square with Sum Less than or Equal to Threshold_[二维前缀和](代码片段
[未解决问题记录]python asyncio+aiohttp出现Exception ignored:RuntimeError('Event loop is closed')(代码片段