每日一题——LeetCode1710.卡车上的最大单元数

本文介绍了一种解决装箱问题的方法,通过将单元数从大到小对箱子进行排序,优先填充容量大的箱子,直到卡车容量耗尽。该算法在时间和内存消耗上具有一定的优化特性。
摘要由CSDN通过智能技术生成

方法一 排序+贪心

能装的箱子数是有限的,那么就要使每个箱子里的单元数尽可能大,将数组按照单元数进行排序,优先装单元数最大的箱子,再考虑后面的箱子

var maximumUnits = function(boxTypes, truckSize) {
    boxTypes.sort((a,b)=>b[1]-a[1])
    let max=0
    for(let item of boxTypes){
        if(truckSize>=item[0]){
            max+=item[0]*item[1]
            truckSize-=item[0]
        }else{
            max+=truckSize*item[1]
            truckSize=0
            break
        }
    }
    return max
};

消耗时间和内存情况:

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值