gpt4 book ai didi

julia - 如何找到julialang中元素子集的最大值的索引?

转载 作者:行者123 更新时间:2023-12-04 13:15:40 25 4
gpt4 key购买 nike

我有一个长度为A=[3, 5, 1, 2, 7, 9, 10, 2, 3]length(A)=9数组和一个包含索引子集S的子集1:9的集合,例如S=Set([1, 3, 6, 8])。我想找到A而不是S的最大值(值和索引)。也就是说,最大值为9,索引为6

我试图这样做

A = [3, 5, 1, 2, 7, 9, 10, 2, 3];
S = Set([1, 3, 6, 8]);
B = [if i in S A[i] else 0 end for i in 1:length(A)];
findmax(B);

但是我觉得有更好更好的方法。

最佳答案

怎么样?

julia> maximum((A[i],i) for i in S)
(9, 6)

这依赖于元组按字典顺序排序的事实。这只会对子集进行迭代,因此当 S的元素数明显少于 A时,它应该更快。

正如Dan Getz所指出的, maximumfindmax更好。

关于julia - 如何找到julialang中元素子集的最大值的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47057042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com