海南综合网站,提供网站建设教学视频,绍兴网站快速排名优化,制作网站的方法有哪些内容题目描述#xff1a;
思路#xff1a; 使用left和right表示子串的端点。每次判断新的right是否在之前的子串里#xff0c;如果在#xff0c;则将left更新为新字符在子串里的位置#xff08;因为在此之间#xff0c;没有更长的子串了#xff09;。如果不在则right1
思路 使用left和right表示子串的端点。每次判断新的right是否在之前的子串里如果在则将left更新为新字符在子串里的位置因为在此之间没有更长的子串了。如果不在则right1并更新ans。
代码
class Solution:def lengthOfLongestSubstring(self, s: str) - int:llen(s)if l0:return 0left,right0,1ans1while rightl:if s[right] in s[left:right]:#s[right]在字串里lefts[left:right1].find(s[right])1left#到下一个s[right]字符的位置right1else:#s[right]不在字串里right1ansmax(right-left,ans)return ans