Мне трудно обдумать эту проблему, и я был бы признателен за подсказку, как к ней подойти.
Проблема заключается в следующем:
Нам дан массив продуктовых магазинов, где значением является расстояние между ними, например, [0,5,10,15,20] (5 км между каждым магазином)
В каждом магазине представлен список инвентаря яблок, например, [10,5,10,20,5] (в первом магазине 10 яблок, во втором 5, в третьем 10 и т. Д.)
Мужчина перемещает яблоки между магазинами, но съедает 2 яблока пр.км.Я должен сделать функцию, принимающую два массива в качестве входных данных и выводящую наибольшее количество яблок, которое может иметь каждый магазин.Это подзадача в задании, касающемся жадных алгоритмов.
Это моя идея подойти к нему до сих пор:
Найдите магазин с наибольшим количеством яблок и раздайте в соседний магазин с наименьшим количеством яблок,Выполнение этого рекурсивно оставило бы меня с довольно равномерно распределенным количеством яблок между магазинами, но только просмотр соседних магазинов делает мое решение менее оптимальным.Как мне подходить к этому, и похоже ли это на любую другую общую проблему в информатике?
Спасибо