package hashmap;
import java.util.HashMap;
import java.util.Map;
public class hashmap {
public static void main(String[] args) {
String s="dvdf";
if(s==null||s.length()==0){
System.out.println("null");
}
int result=1;
Map<Character,Integer> charIndexMap= new HashMap<>();
int[] length = new int[s.length()];
int lastDuplicate = 0;
length[0]=1;
charIndexMap.put(s.charAt(0),0);
for(int i=1;i<s.length();i++){
Character ch = s.charAt(i);
if(charIndexMap.containsKey(ch)){
length[i]=i-Math.max(charIndexMap.get(s.charAt(i)),lastDuplicate);
lastDuplicate = Math.max(lastDuplicate, charIndexMap.get(s.charAt(i)));
}
else{
length[i]=length[i-1]+1;
}
charIndexMap.put(ch,i);
result = Math.max(result,length[i]);
}
System.out.println(result);
}
}
相关文章
- 08-30leecode-找出其中不含有重复字符的 最长子串 的长度
- 08-30LeetCode-不含有重复字符的最长子串的长度
- 08-30leetcode3: 无重复字符的最长子串](https://leetcode-cn.com/problems/longest-substring-without-repeating-characte
- 08-30189_leetcode_3. 【无重复字符的最长子串】给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度
- 08-30leetcode3: 无重复字符的最长子串](https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
- 08-30leetCode3: 无重复字符的最长子串
- 08-30LeetCode: 3_Longest Substring Without Repeating Characters | 求没有重复字符的最长子串的长度 | Medium
- 08-30leetcode3:不重复的最长子串长度
- 08-30D - Milk Patterns (出现k次可重复的最长子串的长度)