3
我只是想返回true
如果List[Integer]
的所有元素互相跟隨的功能,即功能如果列表中有沒有間隙
noGaps(List(3,4,5)) // true
noGaps(List(4,3,5)) // false
noGaps(List(3,4,6)) // false
我有一些作品,但它是一個有點冗長 - 什麼是mose優雅的解決方案?
我只是想返回true
如果List[Integer]
的所有元素互相跟隨的功能,即功能如果列表中有沒有間隙
noGaps(List(3,4,5)) // true
noGaps(List(4,3,5)) // false
noGaps(List(3,4,6)) // false
我有一些作品,但它是一個有點冗長 - 什麼是mose優雅的解決方案?
這個怎麼樣?
def noGaps(xs: Seq[Int]) =
xs.size < 2 || xs.sliding(2).forall { case Seq(x, y) => y == x + 1 }
我在此命名爲*「滑動規則」*:它總是需要兩次嘗試才能做到。首先你做對了。 *然後*你做正確的情況下seq大小小於滑動窗口... – huynhjl
斯卡拉標準庫仍然充滿了令人驚喜的驚喜。直到你指出它,我才知道這個方法。 – Dylan
@huynhjl :-D感謝您指出! –