diff options
Diffstat (limited to 'other/max_units_truck.cpp')
-rw-r--r-- | other/max_units_truck.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/other/max_units_truck.cpp b/other/max_units_truck.cpp new file mode 100644 index 0000000..f95e777 --- /dev/null +++ b/other/max_units_truck.cpp @@ -0,0 +1,20 @@ +#include "leetcode.h" + +class Solution { +public: + int maximumUnits(vector<vector<int>> &boxTypes, int truckSize) { + sort(boxTypes.begin(), boxTypes.end(), cmp); + int ans = 0; + for (auto box : boxTypes) { + int n = min(box[0], truckSize); + ans += (n * box[1]); + truckSize -= n; + if (!truckSize) + break; + } + return ans; + } + +private: + static bool cmp(vector<int> &a, vector<int> &b) { return a[1] > b[1]; } +}; |