Entrevista a los 150 mejoresMedio

Cadena entrelazada

Guía detallada e implementación de Python para el problema de 'Cadenas entrelazadas'.

Declaración del problema

Medio

Dadas las cadenas s1, s2 y s3, encuentre si s3 está formado por un entrelazado de s1 y s2.

Un entrelazado de dos cadenas s y t es una configuración en la que se dividen en subcadenas no vacías de modo que s = s1 + s2 + ... + sn, t = t1 + t2 + ... + tm, |n - m| <= 1, y la cadena entrelazada es s1 + t1 + s2 + t2 +... o t1 + s1 + t2 + s2 +...

Escribe una función isInterleave(s1: str, s2: str, s3: str) -> bool.

Restricciones
  • 0 <= len(s1), len(s2) <= 100
  • 0 <= len(s3) <= 200
  • s1, s2, and s3 consist of lowercase English letters

Ejemplos

Example 1
Input
s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"
Output
True
Explanation

aadbbcbcac can be formed by interleaving "aabcc" and "dbbca".

Example 2
Input
s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"
Output
False
Explanation

It is impossible to interleave s1 and s2 to obtain s3.

Need a Hint?
Considere la posibilidad de utilizar estructuras de datos 2D específicas de DP, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir en el editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.