利用滑动窗口思想求无重复最长字串,时间复杂度为O(n);
滑动窗口的解释:
开始时左右边界都为0,之后右边界s[right]向右滑动,窗口(window)也不断扩大,当前窗口里的字符没有重复的话,maxlen也一直更新加一,当下一个s[right]和当前窗口里有一样的字符时,maxlen停止更新,左边界s[left]向右滑动,直到当前窗口没有重复字符,左边界s[left]停止向右滑动,右边界s[right]继续向右滑动(注意下标越界问题),当rigth-left+1大于maxlen时再更新maxlen,关于窗口(window)用到了python里的集合set()
(看文字实在不懂的话可以去网上看有关视频哦)
调试:



