我有一个包含重复非负整数的数组,例如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)
有没有更好的方法?
length(A) - indmax(@view A[end:-1:1]) + 1
Run Code Online (Sandbox Code Playgroud)
应该很快,但我没有对它进行基准测试.
编辑:我应该注意到,根据定义,@ crstnbr的解决方案(从头开始编写算法)更快(在小代的响应中显示了多快).这是尝试使用julia的内置数组函数.
| 归档时间: |
|
| 查看次数: |
644 次 |
| 最近记录: |