Maximum Units on a Truck

给一个2d数组, 第一项是物品个数, 第二项是物品价值, 给一个size, 求满足这个size最大的价值是什么.

看似dp,其实贪婪, 直接排序求即可.

class Solution {
    public int maximumUnits(int[][] boxTypes, int truckSize) {
        int res = 0;
        Arrays.sort(boxTypes,(a,b) -> b[1] - a[1]);
        for(int[] b : boxTypes) {
            while(truckSize > 0 && b[0] > 0){
                res += b[1];
                truckSize--;
                b[0]--;
            }
        }
        return res;
    }
}