Пока у меня есть цикл for, который проходит через a, затем другой цикл for, который проверяет значения b, а затем принимает самые высокие значения c и помещает их в новый массив
D = [0, 0, 0]
for i in A
highestToAdd = 0
for j in B
if B[j] < A[i]
if C[j] > highestToAdd
highestToAdd = C[j]
D[i] = highestToAdd
return D
input arrays:
A = [3, 1, 7]
B = [5, 0, 2]
C = [5, 3, 25]
output array is:
D = [25, 3, 25]
Здесь вы можете видеть, что мы получили 25 дважды, и нам пришлось циклически повторять всю b более одного раза, чтобы найти наибольшее значение в c, чтобы найти его.
Как вы можете видеть, я быциклы для каждого значения a с каждым значением b снова и снова (особенно, когда 3 размера массива увеличиваются), в каком направлении я должен идти?
Правка - больший образец
A = [5, 2, 1, 9, 3, 1, 5, 4, 2, 2]
B = [8, 1, 7, 10, 6, 2, 5, 2, 4, 3]
C = [9, 5, 8, 4, 6, 10, 3, 9, 6, 8]
would result in
D = [10, 10, 5, 10, 10, 5, 10, 10, 10, 10]