【快递运输】 一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,为了能够装载更多的快递,同时不能让货车超载,需要计算最多能装多少个快递。
注:快递的体积不受限制,快递数最多1000个,货车载重最大50000。
输入描述: 第一行输入 每个快递重量 用逗号分隔 如5,10,2,11 第二行 输入 货车的载重量 如20 不需要考虑异常输入
输出描述: 输出最多能装多少个快递 货车的载重量为20 最多只能放3种快递 5,10,2因此输出3 示例1: 输入 5,10,2,11 20 输出 3
# 思路: 贪心算法
def goods_car(goods: List[int], target_weight: int) -> int:
max_count = 0
max_weight = 0
for i in sorted(goods):
if max_weight + i > target_weight:
return max_count
max_weight += i
max_count += 1
return max_count
if __name__ == '__main__':
print(goods_car([5, 10, 2, 11], 20))