scala 如何找到densevector中最大值?

denseVector变量中有double类型的数据
我希望找到其中最大值所在的下标
谢谢~~~

阅读 2.2k
1 个回答

提供一个思路:

  1. 把DenseVecor里的值转到一个Array[Double]里面
  2. 把Array zipWithIndex一下,得到一个Array[(Double,Int)]数组。这个数组里的每个元素是个二元组,其第一个元是值,第二个元是下标。
  3. 把Array[(Double,Int)]数组用fold或reduce合并一下。每次合并时,返回两个二元组中值较大的那个。合并完成后,只剩下一个二元组,其第二个元就是你需要的下标。
推荐问题