Série

Série

Fácil

Instruções

Dada uma string de algarismos, produz todas as substrings contíguas de comprimento n dessa string, pela ordem em que aparecem.

Por exemplo, a string "49142" tem as seguintes séries de 3 algarismos:

  • "491"
  • "914"
  • "142"

E as seguintes séries de 4 algarismos:

  • "4914"
  • "9142"

E se pedires uma série de 6 algarismos a uma string de 5 algarismos, mereces tudo o que te acontecer.

Repara que estas séries só têm de ocupar posições adjacentes na string de entrada; os algarismos não precisam de ser numericamente consecutivos.

Lidar com casos limite

Linguagens diferentes no Exercism têm expetativas diferentes sobre qual deve ser o resultado se o comprimento das substrings for zero. No percurso de Rust, não temos um teste para esse caso, por isso podes fazer o que achares mais adequado.

Considera as vantagens e as desvantagens das seguintes possibilidades:

  • Rebentar o programa com panic!.
  • Devolver um Result::Err. (não é possível aqui, porque a assinatura da função é fornecida)
  • Devolver um vetor vazio.
  • Devolver um vetor que contém tantas strings vazias como o comprimento da string "digits" mais um. (isto tem algumas propriedades matemáticas interessantes!)
Editar via GitHub A ligação abre numa nova janela ou separador
Rust Exercism

Estás pronto para começar Série?

Inscreve-te no Exercism para aprenderes e dominares Rust com 99 exercícios, e mentoria humana real, tudo grátis.