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

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<=

猜你喜欢

转载自blog.csdn.net/qq_42099097/article/details/107549830