方法一 排序+贪心
能装的箱子数是有限的,那么就要使每个箱子里的单元数尽可能大,将数组按照单元数进行排序,优先装单元数最大的箱子,再考虑后面的箱子
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
};
消耗时间和内存情况: