租车骑绿道
题目
部门组织绿岛骑行团建活动。租用公共双人自行车骑行,每辆自行车最多坐两人、做大载重 M。
给出部门每个人的体重,请问最多需要租用多少双人自行车。
输入
第一行两个数字 m、n,自行车限重 m,代表部门总人数 n。
第二行,n 个数字,代表每个人的体重。体重都小于等于自行车限重 m。
0 < m <= 200
0 < n <= 1000000
输出
最小需要的双人自行车数量。
示例一
输入
3 4
3 2 2 1
输出
3
解题思路
算法思想:
- 输入自行车限重 m 和部门人数 n。
- 输入每个人的体重,并将体重排序。
- 设置双指针 i 和 j,分别指向最小和最大体重的人。
- 如果两人体重之和小于等于 m,则租一辆双人自行车。如果两人体重之和大于 m,则租一辆单人自行车。
- 最后输出最少需要的自行车数量。
核心知识点
代码简单,直接阅读理解即可。
Python 代码实现
<