用于检查列表是否没有间隙的函数

Lui*_*hys 4 scala function list scala-collections

我只想要一个函数,true如果一个元素的所有元素List[Integer]相互跟随,即返回

noGaps(List(3,4,5)) // true
noGaps(List(4,3,5)) // false
noGaps(List(3,4,6)) // false
Run Code Online (Sandbox Code Playgroud)

我有一些有用的东西,但它有点冗长 - 什么是最优雅的解决方案?

Jea*_*let 12

这个怎么样?

def noGaps(xs: Seq[Int]) =
  xs.size < 2 || xs.sliding(2).forall { case Seq(x, y) => y == x + 1 }
Run Code Online (Sandbox Code Playgroud)

  • 我在此将*"滑动规则"命名为*:它总是需要两次尝试才能正确完成.首先,你做得对.*然后*你做的正确的情况下seq大小小于滑动窗口... (3认同)