最长不含重复字符的子字符串

最长不含重复字符的子字符串?

//优化方法
public static String optFindDistinctStr(String str){
    int[] assit = new int[128];
    int startIndex,substrStartIndex,maxLen,curLen;
    startIndex = 0;
    substrStartIndex = 0;
    maxLen = 0;
    curLen = 0;
    for(int i = 0;i < str.length();i++){
        startIndex = Math.max(assit[str.charAt(i)],startIndex);

        curLen = i - startIndex + 1;//跳过那个重复出现的数 从它的下一个开始
        if(curLen > maxLen){
            maxLen = curLen;
            substrStartIndex = startIndex;
        }
        //数组初始化都为0,辅助数组的坐标为原位置的index + 1;
        assit[str.charAt(i)] = i + 1;
    }
    return str.substring(substrStartIndex,substrStartIndex + maxLen);
}
}