Добрый день! Есть задачка:
Наш рюкзак имеет ограничение в грузоподъемности (maxW). Мы нашли два предмета, каждый имеет характеристики: вес, стоимость (weight1, value1 и weight2, value2) . Функция должна вернуть максимальное кол-во денег, которое мы сможем "унести".
Например, предмет1: 5кг, 100руб, предмет2: 7кг 123руб, ограничение по весу 6кг. Ответ: 100руб, потому что поместится только первый предмет.
У меня есть рабочий код, но я не понимаю, как и почему он работает. Почему Math.max возвращает именно значение value?
function knapsackLight(value1, weight1, value2, weight2, maxW) {
return Math.max(
maxW >= weight1 && value1, //как работают эти строки?
maxW >= weight2 && value2,
maxW >= weight1 + weight2 && value1 + value2
);
}