1624. 两个相同字符之间的最长子字符串
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;
};