我有一个包含重复的非负整数的数组,例如,A=[5,5,5,0,1,1,0,0,0,3,3,0,0]
.我想在 A
中找到最后一个最大值的位置.那是最大的索引i
使得 A[i]>=A[j]
所有 j
.在我的例子中,i=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));
有没有更好的办法?
最佳答案
length(A) - indmax(@view A[end:-1:1]) + 1
应该很快,但我没有对其进行基准测试。
编辑:我应该注意到,根据定义,@crstnbr 的解决方案(从头开始编写算法)更快(小戴的回应中显示了多快)。这是尝试使用 julia 的内置数组函数来做到这一点。
关于julia - 如何在julialang中找到最后一个最大值的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47113367/