1710. Maximum Units on a Truck #
题目 #
- 请你将一些箱子装在 一辆卡车 上。给你一个二维数组
boxTypes
,其中boxTypes[i] = [numberOfBoxesi, numberOfUnitsPerBoxi]
:numberOfBoxesi
是类型i
的箱子的数量。numberOfUnitsPerBoxi
是类型i
每个箱子可以装载的单元数量。
- 整数
truckSize
表示卡车上可以装载 箱子 的 最大数量 。只要箱子数量不超过truckSize
,你就可以选择任意箱子装到卡车上。 - 返回卡车可以装载 单元 的 最大 总数*。*
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public int maximumUnits(int[][] boxTypes, int truckSize) {
Arrays.sort(boxTypes, (o1,o2)->o2[1]-o1[1]);
int ans = 0;
for (int[] boxType: boxTypes) {
if (truckSize == 0) break;
int diff = Math.min(truckSize, boxType[0]);
ans += boxType[1] * diff;
truckSize -= diff;
}
return ans;
}
}