leetcode-003无重复字符的最长子串--python
Posted Python_Heaven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-003无重复字符的最长子串--python相关的知识,希望对你有一定的参考价值。
- 无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
输入: s = "abcabcbb"
输出: 3
输入: s = "bbbbb"
输出: 1
输入: s = "pwwkew"
输出: 3
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters
思路:1.建一个列表max_s等待放字符串,设置最长len_max_s为0
2.遍历字符串,如果不在列表里,把字符串放进去。
如果在列表中,就找到他的位置,并把他和前面的字符串都删掉,然后再加进来,
3.记录一下最长字符串的长度。返回最长长度。
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
max_s = []
len_max_s = 0
for i in s:
if i not in max_s:
max_s.append(i)
else:
a = max_s.index(i)
print(a)
for j in range(a+1):
max_s.pop(0)
if i not in max_s:
max_s.append(i)
print(max_s)
len_s = len(max_s)
if len_max_s < len_s:
len_max_s = len_s
return len_max_s
A = Solution()
result = A.lengthOfLongestSubstring("aab") # 2
# result = A.lengthOfLongestSubstring("pwwkew") # 3
# result = A.lengthOfLongestSubstring("qrsvbspk") # 5
print(result)
以上是关于leetcode-003无重复字符的最长子串--python的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode--003--无重复字符的最长子串(java)
leetcode-003无重复字符的最长子串--python
leetcode-003无重复字符的最长子串--python