Back to all solutions
#1624 - Largest Substring Between Two Equal Characters
Problem Description
Given a string s, return the length of the longest substring between two equal characters, excluding the two characters. If there is no such substring return -1.
A substring is a contiguous sequence of characters within a string.
Solution
/**
* @param {string} s
* @return {number}
*/
var maxLengthBetweenEqualCharacters = function(s) {
const charFirstIndex = new Map();
let maxLength = -1;
for (let i = 0; i < s.length; i++) {
const char = s[i];
if (charFirstIndex.has(char)) {
maxLength = Math.max(maxLength, i - charFirstIndex.get(char) - 1);
} else {
charFirstIndex.set(char, i);
}
}
return maxLength;
};