gpt4 book ai didi

scala - 将时间戳转换为间隔

转载 作者:行者123 更新时间:2023-12-04 19:41:55 25 4
gpt4 key购买 nike

我编写了一个将时间戳列表转换为时间间隔的 scala 函数

  def toIntervals(timestamps: List[String]) = {
def helper(timestamps: List[String], accu: List[Long]): List[Long] = {
if (timestamps.tail.isEmpty) accu.reverse
else {
val first = timestamps.head.toLong
val second = timestamps.tail.head.toLong
val newHead = second - first
helper(timestamps.tail, newHead :: accu)
}
}
helper(timestamps, List())
}

没有tailcall

  def toIntervals(timestamps: List[String]) : List[Long]  = {
if (timestamps.tail.isEmpty) List()
else {
val first = timestamps.head.toLong
val second = timestamps.tail.head.toLong
val newHead = second - first
newHead :: toIntervals(timestamps.tail)
}
}

但我觉得它有一个/两个类轮,例如 map2 。有什么建议吗?

最佳答案

(timestamps.tail, timestamps).zipped.map(_.toLong - _.toLong)

是你的单线;不过,val times = timestamps.map(_.toLong) 只执行一次会更有效(这将使它成为两行代码)。

关于scala - 将时间戳转换为间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16547686/

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