gpt4 book ai didi

Scala List 函数用于对连续的相同元素进行分组

转载 作者:行者123 更新时间:2023-12-01 21:24:21 24 4
gpt4 key购买 nike

给定例如:

List(5, 2, 3, 3, 3, 5, 5, 3, 3, 2, 2, 2)

我想去:

List(List(5), List(2), List(3, 3, 3), List(5, 5), List(3, 3), List(2, 2, 2))

我假设有一个简单的列表函数可以执行此操作,但我找不到它。

最佳答案

这是我通常使用的技巧:

def split[T](list: List[T]) : List[List[T]] = list match {
case Nil => Nil
case h::t => val segment = list takeWhile {h ==}
segment :: split(list drop segment.length)
}

实际上......事实并非如此,我通常对集合类型进行抽象并使用尾递归进行优化,但想让答案保持简单。

关于Scala List 函数用于对连续的相同元素进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4761386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com