Ejercicio00:00
¿Quieres un reto mayor?
Resuelve en 20:00
info
Importante: Para que se registre el resultado tienes que iniciar sesión.
Expresiones regulares simplificadas
Master100 pts·Algoritmos
Enunciado
Expresiones regulares simplificadas
Implementa un motor de expresiones regulares que soporte los siguientes patrones:
.— coincide con cualquier carácter individual.*— coincide con cero o más del elemento anterior.
Dada una cadena text y un patrón pattern, devuelve true si el patrón coincide con la cadena completa.
Pista: la solución óptima usa programación dinámica en O(m × n).
Ejemplos
regexMatch("aa", "a") // false — "a" solo coincide con un carácter
regexMatch("aa", "a*") // true — "a*" puede repetir "a" las veces necesarias
regexMatch("ab", ".*") // true — ".*" coincide con cualquier cadena
regexMatch("aab", "c*a*b") // true — c*(cero c) + a*(dos a) + b
regexMatch("mississippi", "mis*is*p*.") // false
regexMatch("", "a*") // true — "a*" puede repetir cero veces
Restricciones
0 ≤ text.length ≤ 201 ≤ pattern.length ≤ 30textcontiene solo letras minúsculasa–z.patterncontiene solo letras minúsculasa–z,.y*.- Se garantiza que
*nunca es el primer carácter del patrón. - Se garantiza que
*nunca aparece después de otro*.
Restriccionesexpand_more
- Dificultad: Master
- Completa todos los test cases para obtener los 100 puntos.
- No modificar la línea
exportal final del archivo. - Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.
Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.
Inicia sesión para reaccionar
Inicia sesión para reaccionar