算法题解读
题目大意:给定一个字符串,找出不含有重复字符的最长子串的长度
解读Example
给定"abcabcbb",没有重复字符的最长子串是"abc",那么长度就是3
给定"bbbbb",最长子串就是..."b",长度就是1
给定pwwkew,最长子串就是"wke",长度为3,
==注意,==必须是一个子串."...实际上我们可以如果采用进一步优化,可以达到只需要N次即可计算成功.我们可以定义字符到索引映射.而不是使用集合来判断这个字符的存在与否.当遇到重复的字符时,我们即可跳过该滑动窗口....也可以理解为,如果s[j]在[i,j)的范围内有与j'重复的字符.我们不需要逐渐增加i.而是直接跳过[i,j']范围内的所有元素.并将i变成为j'+1就可以做到....代码实现
java code
使用ASCII 128码 思路
字符串,其实由字符构成.而字符则可以用ASC码来替代.如此,我们可以用整数数组作为直接访问表来替换Map.