【发布时间】:2013-10-26 10:01:56
【问题描述】:
我们如何根据相邻元素之间的差异在 scala 中拆分列表。例如,给定 List(1,3,6,10,12,14) 和差异 3,该函数将返回 List(List(1,3),List(6),List(10,12,14))。
我们可以使用 foldLeft 来执行此操作吗?我试图创建一个函数
def splitDiff(list:List[Int],diff:Int) =
def func(list:List[List[Int]],m:Int):List[List[Int]] = //compare with last element
list.foldLeft(List(List(0))).foldLeft(func)
但是内部函数似乎很难?有什么帮助吗?
【问题讨论】:
-
不清楚:你在 3 (6 - 3 = 3) 之后分裂,但你也在 6 (10 - 6 = 4) 之后分裂
-
对不起,我的意思是如果 diff >= 3,我就分开了