【hot100】无重复字符的最长子串-Python3
关键:
1)通过[i+1,j]之间来记录无重复的子串,因此当j指向重复的子串的时候如"abcabcbb",j=3的时候,需要保证[i+1,j]之间无重复子串,即[-1,3]之间无重复,则将i指针移动到上一次a出现的位置,即i = max(-1, 0),此时i指向0,j指向3,i+1到j之间为"bca"子串。
2)res记录最长子串的大小,如果没有遇到重复子串,如"abc",则res始终为j-i,即j=0 ,i=-1 ; j=1, i=-1; j=2, i=-1,最后res=3, 如果为"abcac",j=4的时候,i=2, res=2,然而,在这之前,最大的res为j=2时候,i=-1, res=3.因此最长子串为3