华为机试真题 python 实现租车骑绿岛2022.11 Q4新题
Posted MISAYAONE
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为机试真题 python 实现租车骑绿岛2022.11 Q4新题相关的知识,希望对你有一定的参考价值。
目录
题目
【租车骑绿岛】100分
部门组织绿岛骑行团建活动。租用公共双人自行车,每辆自行车最多坐两人,做最大载重M。
给出部门每个人的体重,请问最多需要租用多少双人自行车。
输入描述:
第一行两个数字m、n,分别代表自行车限重,部门总人数。第二行,n个数字,代表每个人的体重,体重都小于等于自行车限重m。
0<m<=200
0<n<=1000000
输出描述:
最小需要的双人自行车数量。示例1 输入输出示例仅供调试,后台判题数据一般不包含示例
输入3 4
3 2 2 1输出
3
思路
1:背包问题,贪心算法应该就可以解决了
第一步 先给人的体重排序
第二步 逐个按照贪心的思想去分配自行车
考点
1:贪心算法
Code
# coding:utf-8
import functools
#处理输入
input_param = [int(x) for x in input().split(" ")]
m = input_param[0]
n = input_param[0]
weights = [int(x) for x in input().split(" ")]
#第一步,单词内部调整
ordered_weights = sorted(weights, reverse=False)
min_bikes = 0
temp_weight = 0
for i in ordered_weights:
if temp_weight<=m and temp_weight+ordered_weights[i] >=m:
min_bikes += 1
temp_weight = ordered_weights[i]
else:
temp_weight += ordered_weights[i]
print (min_bikes)
以上是关于华为机试真题 python 实现租车骑绿岛2022.11 Q4新题的主要内容,如果未能解决你的问题,请参考以下文章
华为机试真题 C++ 实现租车骑绿岛2022.11 Q4新题
华为机试真题 Java 实现租车骑绿岛2022.11 Q4新题
华为OD机试真题 JavaScript 实现租车骑绿岛2023 Q1 | 100分