我并不孤独
目录
Lee_3:最长字符:
滑动窗口的思想,保证在窗口内的字符符合题目的要求,对于不符合的题目直接剔除
public int lengthOfLongestSubstring(String s) {
//无重复的最长子串
int len = s.length();
if (len == 0 ) return 0;
Map<Character,Integer> map = new HashMap<>();
int max = 0;
int left = 0;
for (int i = 0; i < len; i++) {
if (map.containsKey(s.charAt(i))){
left = Math.max(left,map.get(s.charAt(i))+1);
}
map.put(s.charAt(i),i);
//存贮下标的值。
max = Math.max(max,i-left+1);//通过不断的进行对left下标的控制 剔除出现过的字符;
}
return max;
}