leetcode:1710. 卡车上的最大单元数(python3解法)

难度:简单

请你将一些箱子装在 一辆卡车 上。给你一个二维数组 boxTypes ,其中 boxTypes[i] = [numberOfBoxesi, numberOfUnitsPerBoxi]

  • numberOfBoxesi 是类型 i 的箱子的数量。
  • numberOfUnitsPerBoxi 是类型 i 每个箱子可以装载的单元数量。

整数 truckSize 表示卡车上可以装载 箱子最大数量 。只要箱子数量不超过 truckSize ,你就可以选择任意箱子装到卡车上。

返回卡车可以装载 单元最大 总数*。*

示例 1:

复制代码
输入:boxTypes = [[1,3],[2,2],[3,1]], truckSize = 4
输出:8
解释:箱子的情况如下:
- 1 个第一类的箱子,里面含 3 个单元。
- 2 个第二类的箱子,每个里面含 2 个单元。
- 3 个第三类的箱子,每个里面含 1 个单元。
可以选择第一类和第二类的所有箱子,以及第三类的一个箱子。
单元总数 = (1 * 3) + (2 * 2) + (1 * 1) = 8

示例 2:

复制代码
输入:boxTypes = [[5,10],[2,5],[4,7],[3,9]], truckSize = 10
输出:91

提示:

  • 1 <= boxTypes.length <= 1000
  • 1 <= numberOfBoxesi, numberOfUnitsPerBoxi <= 1000
  • 1 <= truckSize <= 106

题解:

python 复制代码
class Solution:
    def maximumUnits(self, boxTypes: List[List[int]], truckSize: int) -> int:
        res = []
        for i in boxTypes:
            for m in range(i[0]):
                res.append(i[1])
        res.sort(reverse=True)
        return sum(res[:truckSize])
        
相关推荐
Swizard8 分钟前
别买树莓派了!3步教你在安卓手机上跑通 CPython + PaddleOCR,打造随身 AI 识别终端
python·ai·移动开发
zwjapple14 分钟前
全栈开发面试高频算法题
算法·面试·职场和发展
不穿格子的程序员16 分钟前
从零开始写算法——链表篇5:K个一组翻转链表 + 排序链表
算法·链表·分治
青鸟21817 分钟前
从资深开发到脱产管理的心态转变
后端·算法·程序员
晨曦夜月26 分钟前
笔试强训day7
开发语言·c++·算法
iAkuya32 分钟前
(leetcode)力扣100 14合并区间(差分/排序)
算法·leetcode·职场和发展
leiming61 小时前
C++ 02 函数模板案例
开发语言·c++·算法
weixin_421585011 小时前
PYTHON 迭代器1 - PEP-255
开发语言·python
自然常数e1 小时前
深入理解指针(6)
c语言·数据结构·算法·visual studio
Xの哲學1 小时前
Linux VxLAN深度解析: 从数据平面到内核实现的全面剖析
linux·服务器·算法·架构·边缘计算