leetcode3 无重复字符的最长子串
/**
思路:双指针算法,第一个两个指针之间维护一个字符串,保证其中没有相同字符
*/
class Solution {
public int lengthOfLongestSubstring(String s) {
int Max = 0,j=0;
Map<Character,Integer> m = new HashMap<>();
for(int i = 0;i<s.length();i++){
char c = s.charAt(i);
if(!m.containsKey(c)){
m.put(c,1);
}else{
m.put(c,m.get(c)+1);
}
while(m.get(c)>1){
m.put(s.charAt(j),m.get(s.charAt(j++))-1);
}
Max = Math.max(Max,i-j+1);
}
return Max;
}
}

浙公网安备 33010602011771号