Найти оптимальную комбинацию элементов из двух массивов для всего пяти элементов - PullRequest
0 голосов
/ 01 июля 2019

У меня есть два массива array_a и array_b.Каждый массив может иметь где угодно от нуля до бесконечного количества элементов, но мне нужно выбрать всего 5 из обоих.

Оптимальная комбинация - 3 из array_a и 2 из array_b.

Если сумма в одном массиве меньше его оптимального числа, она должна быть скомпенсирована из другого массива (например, 4 из array_a и 1 из array_b), чтобы в сумме составить 5.

Учитывая, что я знаю общее количество элементов в обоих массивах, каков наиболее эффективный способ вычисления оптимальной комбинации?

Мое решение с псевдокодом в Python следующее, но я чувствую, что это может бытьсделано еще эффективнее:

source_a_count = array_a.len()
source_b_count = array_b.len()

if source_a_count =< 3
  source_b_count = 5 - source_a_count
else if source_b_count =< 2
  source_a_count = 5 - source_b_count
else
  source_a_count = 3
  source_b_count = 2
...