Ejemplos, Subcadena única mas larga

Algoritmo para encontrar la subcadena mas larga con caracteres únicos

Escribir una función llamada encontrarSubcadenaMaxima, la cual acepte un string y retorne la longitud de una subcadena en la cual todos sus caracteres sean únicos.

function encontrarSubcadenaMaxima(a) {
    let longitud = 0;
    let start = 0;
    let d1 = {};

    for (let i = 0; i < a.length; i++) {
        let ch = a[i];

        if (ch in d1) {
            start = Math.max(start, d1[ch] + 1);
        }

        longitud = Math.max(longitud, i - start + 1);

        d1[ch] = i;
    }

    return longitud;
}