Tôi có một mảng A=[3, 5, 1, 2, 7, 9, 10, 2, 3]
có độ dài length(A)=9
và một tập hợp S
có chứa một tập con của các chỉ mục 1:9
, ví dụ: S=Set([1, 3, 6, 8])
. Tôi muốn tìm giá trị tối đa (giá trị và chỉ số) của A
trên S
. Tức là, tối đa là 9
và chỉ mục là 6
.Làm cách nào để tìm chỉ mục tối đa trên tập con của các phần tử trong julialang?
tôi đã cố gắng để làm điều đó theo cách này
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);
nhưng tôi cảm thấy như có một cách tốt hơn và thông minh.
Nếu bạn quấn biểu thức bằng 'đầu tiên (...)' sau đó đầu ra là sạch hơn –
hoặc chỉ sử dụng 'tối đa ((A [i], i) cho i trong S)' –
Nếu tôi có nhiều tối đa và tôi muốn tìm tất cả, chúng ta vẫn có thể sử dụng cách tiếp cận của bạn? Giống như nếu 'A' bằng với' A = [3, 5, 9, 2, 7, 9, 10, 2, 9] 'và' S = Set ([1, 3, 6, 8]) '. Cách tiếp cận của bạn 'tối đa ((A [i], i) cho i trong S)' cho '(9, 6)' thay vì '(9, 3)' và '(9, 6)'. – Ribz