import java.util.HashMap;
//無重複字符的最長子串
public class Test {
public static void main(String[] args) {
String str = "abdglsrtylpob123";
System.out.println(lengthOfLongestSubstring(str));
}
//滑動窗口機制
public static int lengthOfLongestSubstring(String s) {
HashMap<Character,Integer> hashMap = new HashMap<>();
int maxlength = 0;
int n = s.length();
int start = 0;
for (int i = 0 ; i < n; i++) {
if (hashMap.containsKey(s.charAt(i))){
start = Math.max(start,hashMap.get(s.charAt(i))+1);
}
maxlength = Math.max(maxlength,i-start+1);
hashMap.put(s.charAt(i),i);
}
return maxlength;
}
}