1710. Maximum Units on a Truck

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;
    }
}

致谢 #

宫水三叶