Serien

Serien

Einfach

Anleitung

Gegeben ist ein String aus Ziffern. Gib alle zusammenhängenden Teilstrings der Länge n in diesem String in der Reihenfolge aus, in der sie vorkommen.

Zum Beispiel hat der String "49142" die folgenden dreistelligen Serien:

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

Und die folgenden vierstelligen Serien:

  • "4914"
  • "9142"

Und wenn du von einem fünfstelligen String eine sechsstellige Serie verlangst, dann hast du es nicht anders verdient.

Beachte, dass diese Serien in der Eingabe nur benachbarte Positionen einnehmen müssen; die Ziffern müssen nicht aufeinanderfolgende Zahlenwerte sein.

Umgang mit Randfällen

Die verschiedenen Programmiersprachen auf Exercism haben unterschiedliche Erwartungen daran, was das Ergebnis sein sollte, wenn die Länge der Teilstrings null ist. Im Rust-Track haben wir keinen Test für diesen Fall, also kannst du tun, was du für am sinnvollsten hältst.

Überlege dir die Vor- und Nachteile der folgenden Möglichkeiten:

  • Lass das Programm mit panic! abstürzen.
  • Gib ein Result::Err zurück. (hier nicht möglich, weil die Funktionssignatur vorgegeben ist)
  • Gib einen leeren Vektor zurück.
  • Gib einen Vektor zurück, der so viele leere Strings enthält, wie der String „digits“ lang ist, plus eins. (das hat ein paar schöne mathematische Eigenschaften!)
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Rust Exercism

Bereit, mit Serien zu starten?

Melde dich bei Exercism an, um Rust mit 99 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.