leet-code/maximum-units-on-a-truck/sol.go

21 lines
434 B
Go
Raw Permalink Normal View History

2022-07-05 23:33:16 +00:00
package main
import "sort"
func maximumUnits(boxTypes [][]int, truckSize int) int {
sort.Slice(boxTypes, func(i, j int) bool {
return boxTypes[i][1] > boxTypes[j][1]
})
units := 0
count := 0
for idx := 0; idx < len(boxTypes); idx++ {
units += boxTypes[idx][0] * boxTypes[idx][1]
count += boxTypes[idx][0]
if count >= truckSize {
units -= (count - truckSize) * boxTypes[idx][1]
return units
}
}
return units
}