
滑动窗口
public static void main(String[] args) {System.out.println(lengthOfLongestSubstring(null));}
public static int lengthOfLongestSubstring(String s) {
if(s==null||s.length()==0) return 0;
char[] sArr=s.toCharArray();
int[] hash=new int[256];
int l=0,result=1;
for (int r=0;r<sArr.length;r++){
hash[sArr[r]]++;
while (hash[sArr[r]]!=1){
hash[sArr[l]]--;
l++;
}
result=Math.max(result,r-l+1);
}
return result;
}

本文介绍了如何使用滑动窗口方法解决寻找字符串中最长无重复字符子串的问题。代码示例中展示了从输入字符串转换为字符数组,使用哈希表记录字符出现次数,并通过移动左边界更新窗口大小,最终找到最长子串的长度。


被折叠的 条评论
为什么被折叠?



