上篇文章分享的是暴力解决方法.暴力法非常简单,但是它的速度不够快!...滑动窗口"优化解决
使用暴力法解决是非常简单,但是在暴力法中我们会反复检查一个子字符串是否含有重复的字符.但其实没有这个必要....HashSet的插入
当有新的值加入时,底层的HashMap会判断Key值是否存在,如果不存在则插入新值.同时这个插入的细节会按照HashMap插入细节.如果存在则不插入...."滑动"的窗口.例如,我们将[i,j)向右滑动1个元素,则它将变成[i+1,j+1)(左闭,右开);
四.思路
如果从索引i到j-1之间的子字符串S[ij]已经被检查为没有重复字符.那则只需要检查...我们使用HashSet将字符存储在当前窗口[i,j),最初i=j .然后我们向右侧滑动索引j,如果它不在HashSet中,则我们会继续滑动j.直到s[j]已经存在于HashSet中,此时,我们就已经找到的没有重复字符的最长子串将会以索引