//查找不重复的最大子串,可以判断map集合是否存在相同的字符,直接加索引i指向j+1,如果比原有的ans大,就使用新的长度
//这里使用数组替代map
public int lengthOfLongestSubstring(String s) {
int n=s.length(),ans=0;
int [] sum=new int[128];
for(int j=0,i=0;j<n;j++){
i=Math.max(sum[s.charAt(j)],i);
ans=Math.max(ans,j-i+1);
sum[s.charAt(j)]=j+1;
}
return ans;
}