• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

华为OD机试 2023租车骑绿岛C++ 100%

武飞扬头像
算法大师
帮助1

文章目录

        题目描述
        输入描述
        输出描述
        用例
        题目解析
        代码思路
        C  

题目描述

部门组织绿岛骑行团建活动。租用公共双人自行车,每辆自行车最多坐两人,最大载重M。
给出部门每个人的体重,请问最多需要租用多少双人自行车。

输入描述

第一行两个数字m、n,分别代表自行车限重,部门总人数。

第二行,n个数字,代表每个人的体重,体重都小于等于自行车限重m。

  • 0<m<=200
  • 0<n<=1000000

输出描述

最小需要的双人自行车数量。

用例

题目解析

本题的条件:

  • 一辆车最多2个人
  • 人体重都小于等于自行车限重m

本题需要最少的车辆,即尽可能组合出重量小于等于m的两人组。

按照体重升序排序,利用双指针,一个在头,一个在尾部,如果两个体重加起来大于车的载重,那么表示尾部的人太重了。他只能自己骑。如果小于载重,说明有可以一起骑车。

代码思路

这道题目是一道贪心算法的题目,需要将体重从小到大排序,然后使用双指针的方式进行配对。具体的做法是,将体重最轻的人和体重最

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgehhje
系列文章
更多 icon
同类精品
更多 icon
继续加载