Reto diario de JavaScript JS-254 Encontrar la subcadena más larga sin caracteres repetidos
Dificultad: Media Tema: Manipulación de cadenas
Descripción Dada una cadena encuentra la longitud de la subcadena más larga que no contiene caracteres repetidos
Enfoque recomendado Utiliza la técnica de ventana deslizante manteniendo dos índices que definen la ventana actual y un mapa que almacena la última posición vista de cada carácter. Avanza el extremo derecho expandiendo la ventana y cuando encuentres un carácter repetido mueve el extremo izquierdo a la posición siguiente a la última aparición de ese carácter. Este método obtiene complejidad temporal O(n) y complejidad espacial O(min(n, m)) donde m es el tamaño del alfabeto
Pasos básicos 1 Mantén un mapa de posiciones 2 Mantén dos punteros izquierda y derecha inicializados en 0 3 Para cada carácter en derecha actualiza la mejor longitud y si es repetido mueve izquierda a max(izquierda, ultimaPosicion + 1) 4 Actualiza la última posición del carácter y continúa hasta el final
Ejemplos prueba Entrada abcabcbb Salida 3 Entrada bbbbb Salida 1 Entrada pwwkew Salida 3
Consejos y casos límite considera cadenas vacías cadenas con todos los caracteres iguales cadenas con caracteres Unicode como emojis y combinaciones largas donde el mapa debe ser eficiente
Recursos adicionales Consulta la guía de cadenas en MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
Cómo participar 1 Forkea el reto 2 Escribe tu solución en JavaScript 3 Prueba con los casos anteriores y casos propios 4 Comparte tu enfoque y optimizaciones en los comentarios
Sobre Q2BSTUDIO Q2BSTUDIO es una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida ofrecemos soluciones completas en inteligencia artificial e ia para empresas agentes IA y power bi para visualización avanzada Además proporcionamos servicios de ciberseguridad para proteger tus activos digitales y servicios cloud aws y azure para desplegar aplicaciones escalables y seguras También desarrollamos servicios inteligencia de negocio para convertir datos en decisiones estratégicas Nuestro equipo integra experiencia en desarrollo de aplicaciones a medida inteligencia artificial ciberseguridad y consultoría cloud para ofrecer proyectos llave en mano
Por qué elegirnos Experiencia en aplicaciones a medida experiencia en software a medida integración de inteligencia artificial especialistas en agentes IA y soluciones de power bi capacidades en ciberseguridad y despliegue en servicios cloud aws y azure junto con servicios inteligencia de negocio para potenciar tus datos
Únete a la conversación Cómo abordaste este problema Encontraste casos límite interesantes Qué aprendiste Comparte tus dudas y soluciones y conecta con la comunidad
Este reto forma parte de la serie Reto diario de JavaScript Sigue a Q2BSTUDIO para más desafíos recursos y soluciones prácticas en desarrollo de software aplicaciones a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio agentes IA y power bi