如何找到julialang中最后一个最大值的索引?

Rib*_*ibz 3 julia

我有一个包含重复非负整数的数组,例如A=[5,5,5,0,1,1,0,0,0,3,3,0,0].我想找到最后一个最大值的位置A.对于所有人来说i,这是最大的指数.在我的例子中,.A[i]>=A[j]ji=3

我试图找到所有最大值的索引A然后找到这些索引的最大值:

A = [5,5,5,0,1,1,0,0,0,3,3,0,0];
Amax = maximum(A);
i = maximum(find(x -> x == Amax, A));
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法?

Mic*_*ard 5

length(A) - indmax(@view A[end:-1:1]) + 1
Run Code Online (Sandbox Code Playgroud)

应该很快,但我没有对它进行基准测试.

编辑:我应该注意到,根据定义,@ crstnbr的解决方案(从头开始编写算法)更快(在小代的响应中显示了多快).这是尝试使用julia的内置数组函数.