华为OD 机试 租车骑绿岛

有大佬AC吗,不太会啊,贪心也只过了30%

全部评论
本题需要最少的车辆,即尽可能组合出重量小于等于m的两人组。 首先,我们可以将所有人按体重升序,然后将最大体重和m比较,若最大体重大于等于m,则这个人只能一人占一辆车,车数量count++,然后将最大体重弹出,继续将剩下体重中最大的和m比较,逻辑同上,直到最大体重小于m时,停止弹出。 在剩余体重中,我们利用双指针,i指针指向最小体重,j指针指向最大体重,然后组合它们,即arr[i]+arr[j],和m比较,若小于等于m,则说明这两个人可以共享一辆车,车数量count++,然后i++,j--。如果arr[i]+arr[j]>m,则说明两个人无法共享一辆车,我们只能优先将这里车分配给较大体重的人,此时车数量count++,然后j--。 按上面逻辑移动双指针,最后可能会出现两种情况: i > j 此情况下所有人均分配到了车,因此可以直接输出count作为题解 i === j 此情况下还有一个人未分配到车,因此需要count++,为这个人单独分配一辆车
3 回复 分享
发布于 2023-01-08 22:53 美国
https://renjie.blog.csdn.net/article/details/127969668 11月份加了新题之后,竟然还是会考到原题!
1 回复 分享
发布于 2022-12-04 22:45 北京
https://www.nowcoder.com/discuss/441744825440886784
点赞 回复 分享
发布于 2023-01-08 23:36 山东
今天华为还有机试吗
点赞 回复 分享
发布于 2022-12-04 18:11 上海

相关推荐

03-25 16:22
南华大学 Java
不敢追175女神:你是打了上千个招呼吧?😂
点赞 评论 收藏
分享
没有offer的呆呆:薪资有的时候也能说明一些问题,太少了活不活得下去是一方面,感觉学习也有限
点赞 评论 收藏
分享
评论
6
9
分享

创作者周榜

更多
牛客网
牛客企业服务