function maxLengthBetweenEqualCharacters(s) {
// write code here
const map = new Map;
const arr = Object.values(s);
const len = arr.length;
let start = 0,
end = 0;
let cnt = 0;
let bDuplicated = false;
for (let i = 0; i < len; i++) {
start = 0;
end = 0;
if (map.has(arr[i])) {
if (!bDuplicated) {
bDuplicated = true;
}
start = map.get(arr[i])
// console.log('start----', start);
map.delete(arr[i])
map.set(arr[i], start);
end = i;
// console.log('end----', end);
} else {
map.set(arr[i], i)
}
if (end - start > cnt) {
cnt = end - start;
}
}
// console.log(bDuplicated);
return bDuplicated ? cnt - 1 : -1;
}
//let str = 'fwejfldskjf'; /* 9 */
let str = 'fweldskf'; /* 6 */
console.log(maxLengthBetweenEqualCharacters(str));
06-10
910
02-16
522