Serie

Serie

Facile

Istruzioni

Data una stringa di cifre, produci in output tutte le sottostringhe contigue di lunghezza n in quella stringa, nell'ordine in cui compaiono.

Per esempio, la stringa «49142» ha le seguenti serie di 3 cifre:

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

E le seguenti serie di 4 cifre:

  • «4914»
  • «9142»

E se chiedi una serie di 6 cifre da una stringa di 5 cifre, ti meriti quello che ti capita.

Tieni presente che queste serie devono solo occupare posizioni adiacenti nell'input; le cifre non devono essere numericamente consecutive.

Gestire i casi limite

Linguaggi diversi su Exercism hanno aspettative diverse su quale debba essere il risultato se la lunghezza delle sottostringhe è zero. Sul track Rust non abbiamo un test per questo caso, quindi sei libero di fare ciò che ritieni più appropriato.

Considera i vantaggi e gli svantaggi delle seguenti possibilità:

  • Fai crashare il programma con panic!.
  • Restituire un Result::Err. (non è possibile qui, perché la firma della funzione è data)
  • Restituire un vettore vuoto.
  • Restituire un vettore contenente tante stringhe vuote quante è la lunghezza della stringa «digits» più uno. (questo ha delle belle proprietà matematiche!)
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Rust Exercism

Vuoi iniziare Serie?

Iscriviti a Exercism per imparare e padroneggiare Rust con 99 esercizi e il mentoring di persone reali, tutto gratis.