gpt4 book ai didi

arrays - Scala 数组拆分

转载 作者:行者123 更新时间:2023-12-03 20:31:55 28 4
gpt4 key购买 nike

对于给定的Array[Byte],例如

val in = Array(104, 101, 108, 108, 111, 10, 119, 111, 114, 108, 100, 10)

如何按值 10 拆分它,这样

val out = in.arr_split(10)

会交付

Array( Array(104, 101, 108, 108, 111), 
Array(119, 111, 114, 108, 100))

一般假设拆分元素出现很多次,例如很多 10

如果可能,需要并行解决方案。

非常感谢。

最佳答案

像这样的东西应该可以工作:

  def split(l: Array[Int], i:Int):Array[Array[Int]] = {
l match {
case Array() => Array()
case _ =>
val (h, t) = l.span(a => a != i)
Array(h) ++ split(t.drop(1), i)
}
}

val in = Array(104, 101, 108, 108, 111, 10, 119, 111, 114, 108, 100, 10)

val out = split(in, 10)
// res: Array[Array[Int]] = Array(Array(104, 101, 108, 108, 111), Array(119, 111, 114, 108, 100))

关于arrays - Scala 数组拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23045707/

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