gpt4 book ai didi

scala - Scala中的上三角矩阵

转载 作者:行者123 更新时间:2023-12-01 09:19:07 30 4
gpt4 key购买 nike

有没有办法可以在 scala 中更快地计算上三角矩阵?

/** Returns a vector which consists of the upper triangular elements of a matrix */   
def getUpperTriangle(A: Array[Array[Double]]) =
{
var A_ = Seq(0.)
for (i <- 0 to A.size - 1;j <- 0 to A(0).size - 1)
{
if (i <= j){
A_ = A_ ++ Seq(A(i)(j))
}
}
A_.tail.toArray
}

最佳答案

我不知道更快,但这更短,更“功能性”(我注意到你用 functional-programming 标记了你的问题)

def getUpperTriangle(a: Array[Array[Double]]) = 
(0 until a.size).flatMap(i => a(i).drop(i)).toArray

或者,或多或少相同的想法:

def getUpperTriangle(a: Array[Array[Double]]) =
a.zipWithIndex.flatMap{case(r,i) => r.drop(i)}

关于scala - Scala中的上三角矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37075826/

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