| https://leetcode.com/problems/maximum-units-on-a-truck/description/ | Easy |
|---|
class Solution {
fun maximumUnits(boxTypes: Array<IntArray>, truckSize: Int): Int {
val boxes = IntArray(1001)
var i = 0
while (i < boxTypes.size) {
val b = boxTypes[i]
boxes[b[1]] += b[0]
i++
}
var cap = truckSize
var res = 0
var u = 1000
while (u > 0 && cap > 0) {
val cnt = boxes[u]
if (cnt > 0) {
val take = if (cnt < cap) cnt else cap
res += take * u
cap -= take
}
u--
}
return res
}
}