Series

Series

Fácil

Instrucciones

Dado un string de dígitos, devuelve todos los substring contiguos de longitud n que aparezcan en él, en el orden en que aparecen.

Por ejemplo, el string «49142» tiene las siguientes series de 3 dígitos:

  • «491»
  • «914»
  • «142»

Y las siguientes series de 4 dígitos:

  • «4914»
  • «9142»

Y si pides una serie de 6 dígitos de un string de 5 dígitos, te mereces lo que te toque.

Ten en cuenta que estas series solo tienen que ocupar posiciones adyacentes en el string que recibes; los dígitos no necesitan ser numéricamente consecutivos.

Manejo de casos límite

En Exercism, cada lenguaje tiene sus propias expectativas sobre cuál debería ser el resultado si la longitud de las subcadenas es cero. En el track de Rust no tenemos una prueba para ese caso, así que eres libre de hacer lo que te parezca más apropiado.

Considera las ventajas y desventajas de las siguientes posibilidades:

  • Hacer que el programa se caiga con panic!.
  • Devolver un Result::Err. (Aquí no es posible, porque la firma de la función ya está dada)
  • Devolver un vector vacío.
  • Devolver un vector que contenga tantos strings vacíos como la longitud del string «digits» más uno. (¡esto tiene unas propiedades matemáticas muy interesantes!)
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Rust Exercism

¿Todo listo para empezar Series?

Regístrate en Exercism para aprender y dominar Rust con 99 ejercicios y mentoría humana real, todo gratis.