我有一个无序的数组[Int]。如何从中找到前n个元素的索引?
例如
Input:
Array[Int] = Array(1,4,2,8,5,3,1,4,2)
top_n = 3
Output:
1,4,5
答案 0 :(得分:4)
我想你要求3个最高数字的指数? 你可以使用这样的东西:
arr.zipWithIndex.sortBy(_._1).takeRight(3).map(_._2)
答案 1 :(得分:2)
我猜你所描述的输出是错误的,所以我想这里它应该是(1,3,4)。这是一个使用zipWithIndex
的解决方案val values = Array(1,4,2,8,5,3,1,4,2)
val n = 3
values.zipWithIndex.sortBy(-_._1).take(n).map(_._2)
返回
res2: Array[Int] = Array(3, 4, 1)