当前位置: 代码迷 >> 综合 >> 简单贪心算法-最优装载问题
  详细解决方案

简单贪心算法-最优装载问题

热度:82   发布时间:2024-01-31 12:34:06.0

1.题目描述:

不同的货物类型有不同的重量,现在给我可以最大装载量,请问最多可以装载多少货物。

eg:输入:不同货物的类型和重量;

输出:最大的装载量

2.解题思路:

(1)首先,我们要解决不同货物类型有不同的重量,这个明显是一个对象数组,这个时候,我们就要进行相应的排序。(从小到大)

(2)我们将排序好的货物,进行添加到我们的装载车上,要有resWeight来标记装载的剩余重量。当前的货物重量不能打印剩余重量。

(3)最后输出装载的货物总数。

3.上代码:

(1)排序算法:


function sortBox(Boxes){for(let i = 0;i<Boxes.length;i++){for(let j = i+1;j<Boxes.length;j++){if(Boxes[i].val>Boxes[j].val){var temp = Boxes[i];Boxes[i] = Boxes[j];Boxes[j] = temp;}}}return Boxes;}

(2)核心算法:

function getBestNum(nums,totalWeight)
{var resWeight=totalWeight;//最开始,剩余的重量就是总重量;var boxes = sortBox(nums);var finalWeight = 0;var count = 0;var isgetBox = [];for(let i =0;i<boxes.length;i++){if(boxes[i].val<=
  相关解决方案