无重复字符的最长子串(力扣)
程序员文章站
2024-02-21 14:23:22
...
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;
}
}
上一篇: C语言使用*输出自定义大小的三角形、倒三角形及沙漏
下一篇: 迭代器失效的几种情况