1710. Maximum Units on a Truck

仅供自己学习

 

思路:

如果我们按照每个箱子装载的单元数量降序排序,然后每次只要箱子数量小于tracksize就一直从大的获取加入。

代码:

 1 class Solution {
 2 public:
 3     int maximumUnits(vector<vector<int>>& boxTypes, int truckSize) {
 4         sort(boxTypes.begin(),boxTypes.end(),[](const auto& L,const auto& R){return L[1]>R[1];});
 5         int unit=0,sumnums=0;
 6         for(auto a: boxTypes){
 7             if(truckSize<0) break;
 8             unit=min(truckSize,a[0]); //取最小的是为了避免,该箱子数量大于剩余的trucksize的,所以每次都能保证取的数量符合
 9             truckSize-=unit;  
10             sumnums+=unit*a[1];
11         }
12         return sumnums;
13     }
14 };

 

posted @ 2021-03-29 17:06  Mrsdwang  阅读(22)  评论(0编辑  收藏  举报