如何找到最小值的元素索引?

Sur*_*rya 13 functional-programming scala list

说我有一个清单 val list = List(34, 11, 98, 56, 43).

现在我如何找到列表中最小元素的索引(例如在这种情况下为1)?

Dan*_*ral 24

在Scala 2.8上:

List(34, 11, 98, 56, 43).zipWithIndex.min._2
Run Code Online (Sandbox Code Playgroud)


sep*_*p2k 6

空列表没有最小值.只有一个元素的列表将该元素作为其最小值.对于所有其他列表,最小值是该列表的第一个元素或列表其余部分的最小值,具体取决于哪个更大.

因此,为了找到索引,这变为:对于长度为1的列表,最小值的索引为0.如果列表具有多个元素并且尾部的最小值大于头部,则它也是0.如果头部是大于索引是尾部最小值的索引加1.


Jam*_*ham 6

我想最简单的方法是list.indexOf(list.min).当列表为空时它会抛出一个异常,但Daniel的回答也是如此.