1624. 两个相同字符之间的最长子字符串![在这里插入图片描述](https://img-blog.csdnimg.cn/f775ad3721884b3c8d5f67a50f8089e0.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAd2VpeGluXzQ0OTk1OTE3,size_20,color_FFFFFF,t_70,g_se,x_16)
1.暴力解法
var maxLengthBetweenEqualCharacters = function(s) {
let max = -1,len = s.length;
for(let i = 0;i<len;i++){
for(let j = i+1;j<len;j++){
if(s[j] == s[i]){
max = max > (j-i-1) ? max : (j-i-1)
}
}
}
return max;
};
console.log(maxLengthBetweenEqualCharacters("cbzxy"));
其实第二次时可以数组最后一个元素开始遍历,遇到相等时便break,可以很大程度上降低时间复杂度。
var maxLengthBetweenEqualCharacters = function(s) {
let max = -1,len = s.length;
for(let i = 0;i<len;i++){
for(let j = len-1;j>i;j--){
if(s[j] == s[i]){
max = max > (j-i-1) ? max : (j-i-1);
break;
}
}
}
return max;
};