数列

数列

简单

说明

给定一个数字字符串,按它们出现的顺序输出该字符串中所有长度为 n 的连续子串。

例如,字符串“49142”包含以下 3 位数的序列:

  • “491”
  • “914”
  • “142”

以及以下 4 位数的序列:

  • “4914”
  • “9142”

如果你从一个 5 位数的字符串里要一个 6 位数的序列,那不管得到什么,都是你自找的。

注意,这些序列只要求在输入中占据_相邻的位置_,数字本身不必_在数值上连续_。

处理边界情况

在 Exercism 上,不同的语言对子字符串长度为 0 时结果应该是什么,有着不同的预期。 在 Rust 赛道上,我们没有针对这种情况的测试,所以你可以自由选择自己认为最合适的做法。

想一想以下几种可能性各自的优缺点:

  • 用panic!让程序崩溃。
  • 返回Result::Err。(这里做不到,因为函数签名是给定的)
  • 返回一个空向量。
  • 返回一个向量,其中包含的空字符串数量等于字符串 "digits" 的长度加一。(这有一些不错的数学性质!)
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Rust Exercism

准备好开始 数列 了吗?

注册 Exercism,借助 99 个练习 和真人导师指导,学习并掌握 Rust,全部免费。