当前位置: 首页 > news >正文

华为OD机试-租车骑绿道-双指针(Java 2023 B卷 100分)

题目描述

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

输入描述

第一行两个数字 m 和 n,分别表示自行车的最大载重 m 和部门总人数 n。

第二行包含 n 个数字,代表每个人的体重。每个人的体重都小于等于自行车的最大载重 m。

输出描述

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

示例

输入:

150 4
50 60 70 80

输出:

2

解题思路

  1. 排序: 将每个人的体重按从小到大排序。
  2. 双指针: 使用双指针技巧,一个指针指向最轻的人,另一个指针指向最重的人。
  3. 匹配: 尝试将最轻的人和最重的人配对,如果他们的体重之和不超过 m,则他们可以共用一辆自行车;否则,最重的人单独使用一辆自行车。
  4. 计数: 统计需要的自

相关文章:

  • 【二分查找 并集查找】P6004 [USACO20JAN] Wormhole Sort S|普及+
  • vector和list的区别是什么
  • Golang 老题,生产者和消费者模型,先后关闭通道的问题
  • k8s主要控制器简述(二)DaemonSet|Job|CronJob
  • 蓝桥杯备考----》暴力枚举---金盏花
  • springboot实现文件上传到服务器上,并通过url访问
  • Spring Boot + Spring Integration整合MQTT打造双向通信客户端
  • flowable适配达梦7 (2.1)
  • 【C++】:使用ACL给你的文件夹加锁
  • 直线画法-Bresenham‘s algorithm原理和最优实现
  • SSRF 攻击与防御:从原理到落地实践
  • 什么是Ecovadis认证(埃科瓦迪斯认证)?​Ecovadis认证(埃科瓦迪斯认证)的等级划分!
  • 【Zephyr】【二】学习笔记【RTOS系统架构】
  • VLAN综合实验
  • Linux|fork命令及其使用的写时拷贝技术
  • HyperAD:学习弱监督音视频暴力检测在双曲空间中的方法
  • id: ‘dev.flutter.flutter-plugin-loader‘, version: ‘1.0.0‘怎么解决
  • The Illustrated Stable Diffusion
  • [贪心算法]买卖股票的最佳时机 买卖股票的最佳时机Ⅱ K次取反后最大化的数组和 按身高排序 优势洗牌(田忌赛马)
  • 基础篇结束纪念——Java抽象类 模板类 static接口
  • 催眠美女做仆人网站/中央新闻今日要闻
  • 免费做简历的软件网站/线下营销推广方式有哪些
  • 汕头网站建站公司/网络营销品牌
  • 常德做网站专业公司/沈阳seo团队
  • 襄阳门做网站/网络营销网站推广
  • 淄博网站建设公司/小程序推广50个方法