0
点赞
收藏
分享

微信扫一扫

python快速实现查找最长无重复子串

独西楼Q 2022-01-13 阅读 82

这是在CSDN看到的其他解法

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

个人理解起来比较慢,发现有另外一种代码量少也容易理解的写法:
先将字符串切片,然后取出最长的一个,拼接起来就是结果了。
s = “jadasjhdhawaeirjwehgf234456skjdngfkds七二五二不是但凡123sf…2423%adsa”
head=s[:1]
list=s.split(head)
print (head+(max(list,key=len)))

输出:jdngfkds七二五二不是但凡123sf…2423%adsa

举报

相关推荐

0 条评论