Рюкзак

Рюкзак

Середня

Вступ

Лхакпа - шерпа, гірський гід і носій. Після місяців ретельного планування експедиція, у якій працює Лхакпа, ось-ось вирушить. Їй заплатять вартість того, що вона донесла до базового табору.

Перед нею лежать численні предмети, кожен зі своєю цінністю та вагою. Лхакпа охоче взяла б усі ці предмети, але її рюкзак може вмістити лише обмежену вагу.

Вказівки

Визначте, які предмети взяти, щоб загальна цінність її вибору була максимальною, зважаючи на вантажопідйомність рюкзака.

Предмети буде представлено як масив предметів. Кожен предмет матиме вагу та цінність. Усі наведені значення будуть строго додатними. Lhakpa може взяти лише по одному предмету кожного виду.

Наприклад:

Items: [
  { "weight": 5, "value": 10 },
  { "weight": 4, "value": 40 },
  { "weight": 6, "value": 30 },
  { "weight": 4, "value": 50 }
]

Knapsack Maximum Weight: 10

У наведеному прикладі перший предмет має вагу 5 і цінність 10, другий предмет має вагу 4 і цінність 40, і так далі. У цьому прикладі Lhakpa має взяти другий і четвертий предмети, щоб максимізувати свою цінність, яка в цьому випадку дорівнює 90. Вона не може отримати більше ніж 90, оскільки її рюкзак має обмеження ваги 10.


Джерело

WikipediaПосилання відкривається в новому вікні або вкладці
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Racket Exercism

Час розпочати Рюкзак?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Racket, а також 84 вправи та справжнє наставництво від людей, і все це безкоштовно.