Условие задачи:
У нас есть площадь с заданными пропорциями, скажем:
const area = [100, 200];
Первый элемент в массиве высота, второй ширина. И у нас есть массив с элементами:
const items = [
[10, 4],
[20, 30],
[25, 3],
...
];
Нам нужно функция которая будет принимать два аргумента, первый площадь и второй элементы:
function resolve(area, items) {...};
Которая будет возвращать объект с двумя массивами:
console.log(resolve(area, items));
// { solved: [[4, 10], [20, 30], [3, 25]...], exclude: [[50, 60],[2, 100]...]};
Первый массив включает в себя максимальное количество элементов в правильном порядке и позиции которое можно поместить на заданой площади, и второй включает в себя список элементов которые не поместились.
Все элементы можно переворачивать меняя местами ширину и высоту.
Решение может быть на любом языке или простой math. формулой, буду благодарен за любую помощь, спасибо!