public static int lengthOfLongestSubstring(String s) {
if(s==null||s.length()==0)return 0;
int[] t = new int[256];
int start =0;
int end = 0;
int max = 0;
int beg = 0;
int e = 0;
Arrays.fill(t, -1);
char[] ch = s.toCharArray();
int len = ch.length;
for(int i=0;i<len;i++){
if(t[ch[i]]!=-1){
while(start<=t[ch[i]]){
t[ch[start++]] =-1;
}
}
t[ch[i]] = i;
if(i-start+1>max){
beg = start;
e= i;
max = i-start+1;
}
}
System.out.println("beg="+beg+",end="+e);
System.out.println(s.substring(beg, e+1));
return max;
}
最长不重复子串
最新推荐文章于 2024-02-03 12:13:58 发布
本文介绍了一种寻找字符串中最长无重复字符子串的高效算法实现。通过使用滑动窗口技术和哈希表,该算法能在O(n)的时间复杂度内解决问题。文章详细展示了如何遍历输入字符串并更新子串的起始位置,确保了子串中所有字符的唯一性。
摘要由CSDN通过智能技术生成