Subcadena más larga sin caracteres repetidos

Escribe una función que devuelva la subcadena más larga sin caracteres repetidos para una cadena de entrada.

Ejemplos

longestNRS("abcabcbb") ➞ "abc"

longestNRS("aaaaaa") ➞ "a"

longestNRS("abcde") ➞ "abcde"

longestNRS("abcda") ➞ "abcd"

Notas

  • Si varias subcadenas tienen la misma longitud, devuelve la que aparece primero.
  • Bono: ¿Puedes resolver este problema en tiempo lineal?