Треки
/
Rust
Rust
/
Вправи
/
Послідовність
Послідовність

Послідовність

Легка

Вказівки

Дано рядок тексту (англ. string) з цифр. Потрібно вивести всі суміжні підрядки довжини n у цьому рядку в тому порядку, у якому вони йдуть.

Наприклад, рядок тексту «49142» має такі серії з 3 цифр:

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

А такі серії з 4 цифр:

  • «4914»
  • «9142»

А якщо попросити серію з 6 цифр із рядка тексту з 5 цифр, то отримаємо те, на що заслужили.

Зауважмо, що ці серії мають займати лише суміжні позиції у вхідних даних; цифри не обовʼязково мають бути послідовними за значенням.

Опрацювання крайніх випадків

Різні мови на Exercism по-різному уявляють, яким має бути результат, якщо довжина підрядків дорівнює нулю. У треку Rust ми не маємо тесту для цього випадку, тож ми вільні зробити так, як вважаємо найдоречнішим.

Розгляньмо переваги та недоліки таких можливостей:

  • Аварійно завершити програму за допомогою panic!.
  • Повернути Result::Err. (тут це неможливо, бо сигнатуру функції задано)
  • Повернути порожній вектор.
  • Повернути вектор, що містить стільки порожніх рядків тексту (англ. string), скільки дорівнює довжина рядка тексту «digits» плюс один. (це має деякі гарні математичні властивості!)
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Rust Exercism

Час розпочати Послідовність?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Rust, а також 99 вправ та справжнє наставництво від людей, і все це безкоштовно.