题3:无重复字符的最长字符串
双指针暴力算法(小豪,我水平不够=-=弹框加哈希表那个做法我看不懂)
思路:从左定一个指针,另一个指针向后移动。如8-12行代码。
重点:如果遇到了相同的字符就会跳出循环,但此时i指针与r是不相等的。所以第14行的else起作用,此时i所在位置就是最左边与r位置有相同字符的位置。所以l=i+1,起到了一个将最左边相同字符跳出的作用。也就是说如果i走到和r重合,此时就没有相同字符。若期间有相同字符,肯定也在最左边被踢出。
我只能说比绝绝子还绝绝子,太牛逼了这个做法,当然不是我想到的。