Как найти индекс элемента с минимальным значением?
Скажем, у меня есть список val list = List(34, 11, 98, 56, 43).
Теперь, как найти индекс минимального элемента списка (например, 1 в этом случае)?
Ответ 1
Вкл Scala 2.8:
List(34, 11, 98, 56, 43).zipWithIndex.min._2
Ответ 2
Пустой список не имеет минимального значения. Список только одного элемента имеет этот элемент как минимум. Для всех других списков минимум является либо первым элементом этого списка, либо минимумом остальной части списка, в зависимости от того, что больше.
Итак, чтобы найти индекс, это становится: для списка длины 1 индекс минимума равен 0. Если список имеет более одного элемента, а минимальный хвост больше головы, он также равен 0. Если голова больше, чем индекс - это индекс минимума хвоста плюс один.
Ответ 3
Я думаю, что самый простой способ - list.indexOf(list.min). Он будет генерировать исключение, когда список пуст, хотя так ответит Даниэль.