Scala中列表之间的重叠范围

时间:2016-07-14 11:10:01

标签: list scala

考虑Scala中的以下两个列表:

l1: List(List(4,6), List(17,20), List(27))
l2: List(1,6,11,16,26,30)

我想先从第二个列表l2

创建一个新列表
l3: List(List(1,5), List(6,10), List(11,15), List(16,25), List(26,29), List(30))

之后我想找到两个列表(l1和l3)之间的重叠间隔 输出必须是:

List(List(4,5), List(6), list(17,20) list(27))

我发现这是为了验证两个列表之间是否存在过度重叠

def overlaps(x:List[Int],y:List[Int]) = (x contains y.lift(0)) || (y contains x.lift(0))

但我不知道如何扩展它来解决我的问题。 如果有任何最佳方法可以在不创建列表l3的情况下找到此结果,那么它对我来说是可能的。

0 个答案:

没有答案