识别Scala中的数字序列

时间:2016-01-23 20:03:48

标签: scala

我想知道从数字列表中识别Scala中连续数字和最大数字模式的逻辑是什么。例如,如果

val x =列表(1,2,3,8,15,26)

然后函数的输出应为

val y = List(3,8,15,26)其中3是1,2,3的最大值,它是连续数字的序列。 8,15,26不是连续的,因此这些数字没有改变。

位置无关紧要,这意味着,我可以对列表进行排序,然后识别序列。

如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

x进行排序后,您可以执行以下操作。

(x :+ x.last).sliding(2).filter(p => p(0) != p(1)-1).map(_(0)).toList