В Julia вы можете использовать findmax
или indmax
, чтобы найти индекс самой большой записи в матрице. Но если у вас есть несколько записей с этим максимальным значением, вы получаете индекс первого. Как я могу получить индексы всех максимальных значений в матрице?Julia: Найти индексы всех максимумов
3
A
ответ
5
Если это не является узким местом
A = [1, 2, 3, 3, 3]
A_max = maximum(A)
find(a->a==A_max, A)
даст вам то, что вам нужно, но это не идти по массиву в два раза.
3
Вы также можете использовать понимание. Массив будет повторяться дважды.
v = [1, 2, 3, 3, 3]
maxval = maximum(v)
positions = [i for (i, x) in enumerate(v) if x == maxval]
Если производительность является критическим, то следующий алгоритм может работать: требуется
function findallmax(arr)
max_positions = Vector{Int}()
min_val = typemin(eltype(arr))
for i in eachindex(arr)
if arr[i] > min_val
min_val = arr[i]
empty!(max_positions)
push!(max_positions, i)
elseif arr[i] == min_val
push!(max_positions, i)
end
end
max_positions
end
одна итерация.
Смежные вопросы
- 1. эффективно находить индексы максимумов списка
- 2. Получить индексы n максимумов в массиве java
- 3. Найти локальных минимумов/максимумов
- 4. Эффективно найти индексы всех значений в массиве
- 5. Функция определения всех локальных максимумов гистограммы
- 6. SQL - Как извлечь минимум всех максимумов
- 7. Найти несколько максимумов вектора для движущегося окна
- 8. Найти индексы непревзойденной скобки
- 9. Поиск локальных максимумов
- 10. Как найти все индексы всех вхождений слова в строке
- 11. Найти индексы всех совпадений регулярных выражений в Python?
- 12. Найти линейные индексы всех соседей в радиусе вокруг центрального пикселя?
- 13. Julia Найти индекс итерационного значения
- 14. Julia: найти строку в матрице
- 15. Повторная оценка переопределения максимумов
- 16. Как найти индекс набора в Julia/JuMP?
- 17. Найти индексы массива
- 18. Найти индексы двух списков
- 19. Ruby - найти индексы подмассива
- 20. Найти индексы последовательности чисел
- 21. Postgresql: найти хешированные индексы
- 22. Найти определенные строковые индексы
- 23. Выберите индексы для всех таблиц
- 24. Индексы всех совпадений регулярного выражения
- 25. Коэффициенты максимумов многочленов
- 26. DRY отслеживания максимумов
- 27. индекс кратных максимумов массива
- 28. Как я могу найти много локальных максимумов в шумном изображении?
- 29. Как найти много максимумов в списке в Mathematica
- 30. Найти пустые индексы массива функционируют