首页 前端知识 华为OD机试C卷-- 爱吃蟠桃的孙悟空(Java & JS & Python & C)

华为OD机试C卷-- 爱吃蟠桃的孙悟空(Java & JS & Python & C)

2024-05-25 09:05:45 前端知识 前端哥 216 535 我要收藏

获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。

题目描述
孙悟空爱吃蟠桃,有一天趁着蟠桃园守卫不在来偷吃。已知蟠桃园有 N 棵桃树,每颗树上都有桃子,守卫将在 H 小时后回来。

孙悟空可以决定他吃蟠桃的速度K(个/小时),每个小时选一颗桃树,并从树上吃掉 K 个,如果树上的桃子少于 K 个,则全部吃掉,并且这一小时剩余的时间里不再吃桃。

孙悟空喜欢慢慢吃,但又想在守卫回来前吃完桃子。

请返回孙悟空可以在 H 小时内吃掉所有桃子的最小速度 K(K为整数)。如果以任何速度都吃不完所有桃子,则返回0。

输入描述
第一行输入为 N 个数字,N 表示桃树的数量,这 N 个数字表示每颗桃树上蟠桃的数量。

第二行输入为一个数字,表示守卫离开的时间 H。

其中数字通过空格分割,N、H为正整数,每颗树上都有蟠桃,且 0 < N < 10000,0 < H < 10000。

输出描述
吃掉所有蟠桃的最小速度 K,无解或输入异常时输出 0。

题目解析
这个问题是一个典型的二分查找问题,因为孙悟空的速度K(吃桃速度)是一个可以在一定范围内变化的整数,我们需要找到满足条件(H小时内吃完所有桃子)的最小K值。

首先,我们需要确定K的可能范围。K的最小值显然是1(即每个小时至少吃

转载请注明出处或者链接地址:https://www.qianduange.cn//article/9437.html
标签
评论
会员中心 联系我 留言建议 回顶部
复制成功!