【华为OD题库-104】猴子吃桃-java

题目

题目描述:
孙悟空喜欢吃蟠桃,一天他乘守卫蟠桃园的天兵天将离开了而偷偷的来到王母娘娘的蟠桃园偷吃蟠桃。
已知蟠桃园有棵蟠桃树,第i棵蟠桃树上有Ni个蟠桃,天兵天将将在H(不小于蟠桃树棵数)小时后回来。
孙悟空可以决定他吃蟠桃的速度K(单位:个小时),每个小时他会选择一颗蟠桃树,从中吃掉K个蟠桃,如果这棵树上的蟠桃数小于K,他将吃掉这棵树上所有蟠桃,然后这一小时内不再吃其余蟠桃树上的蟠桃。
孙悟空喜欢慢慢吃,但仍想在天兵天将回来前将所有蟠桃吃完。
求孙悟空可以在H小时内吃掉所有蟠桃的最小速度K(K为整数)。
输入描述:
从标准输入中读取一行数字,前面数字表示每棵数上蟠桃个数,最后的数字表示天兵天将将离开的时间。
输出描述:
吃掉所有蟠桃的最小速度K(K为整数)或输入异常时输出-1。
示例1:
输入
3 11 6 7 8
输出
4
说明:
天兵天将8个小时后回来,孙悟空吃掉所有蟠桃的最小速度4。
第1小时全部吃完第—棵树,吃3个,
第2小时吃4个,第二棵树剩7个,
第3小时吃4个,第二棵树剩3个,
第4小时吃3个,第二棵树吃完,
第5小时吃4个,第三棵树剩2个,
第6小时吃2个,第三棵树吃完,
第7小时吃4个,第4棵树剩3个,
第8小时吃3个,第4棵树吃完。

思路

同leetcode 875. 爱吃香蕉的珂珂

区别在于需要判定-1的情况(输入异常),如果输入的数组长度为1或者,天兵天将回来的时间过早,直接输出-1

题解

package hwod;import java.util.Arrays;
import java.util.Scanner;public class MonkeyPeach {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int[] nums = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();System.out.println(monkeyPeach(nums));}private static int monkeyPeach(int[] nums) {int target = nums[nums.length - 1];int n = nums.length - 1;int[] newNums = new int[n];if (n <= 0 || target < n) return -1;int left = 1, right = 0;for (int i = 0; i < n; i++) {if (nums[i] > right) right = nums[i];newNums[i] = nums[i];}while (left < right) {int mid = left + ((right - left) >> 1);int time = getTime(newNums, mid);if (time > target) {left = mid + 1;} else {right = mid;}}return left;}private static int getTime(int[] newNums, int mid) {int res = 0;for (int i = 0; i < newNums.length; i++) {res += (newNums[i] + mid - 1) / mid;}return res;}
}

推荐

如果你对本系列的其他题目感兴趣,可以参考华为OD机试真题及题解(JAVA),查看当前专栏更新的所有题目。

说明

本专栏所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/qq_31076523/article/details/134176793。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/239628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读算法霸权笔记01_数学杀伤性武器

1. 数学应用助推数据经济&#xff0c;但这些应用的建立是基于不可靠的人类所做的选择 1.1. 房地产危机&#xff0c;大型金融机构倒闭&#xff0c;失业率上升&#xff0c;在幕后运用着神奇公式的数学家们成为这些灾难的帮凶 1.2. 数学逐渐不再关注全球金融市场动态&#xff0c…

【小白专用】HTML相对路径表示方法

一. HTML相对路径(Relative Path) 同一个目录的文件引用 如果源文件和引用文件在同一个目录里&#xff0c;直接写引用文件名即可。 我们现在建一个源文件info.html&#xff0c;在info.html里要引用index.html文件作为超链接。 假设info.html路径是&#xff1a;c:/Inetpub/ww…

用Python处理PDF:拆分与合并PDF文档

PDF文档在信息共享和数据保存方面被广泛使用&#xff0c;处理PDF文档也成为常见需求。其中&#xff0c;合并和拆分PDF文档能够帮助我们更有效地管理PDF文档&#xff0c;使文档内容分布更合理。通过合并&#xff0c;可以将相关文档整合成一个文件&#xff0c;以便更好地组织和提…

深度学习(Deep Learning) 简介

深度学习&#xff08;Deep Learning&#xff09; 深度学习在海量数据情况下的效果要比机器学习更为出色。 多层神经网络模型 神经网络 有监督机器学习模型 输入层隐藏层 (黑盒)输出层 概念: 神经元 Neuron A^(n1)网络权重 Weights W^n偏移 bias b^n 激活函数: ReLUtan…

人机协同中的韧性与鲁棒性

人机交互中的韧性与鲁棒性是指系统在面对不确定性、异常情况或故障时能够保持良好的工作状态和用户体验的能力。 韧性是指系统在面对不确定性和变化时能够快速适应和恢复正常工作的能力。在人机交互中&#xff0c;韧性体现为系统能够灵活地处理用户的输入&#xff0c;并能够自动…

LeetCode394.字符串解码

这道题有点像我之前写过的一道题有效的括号&#xff08;不只是栈&#xff09;-CSDN博客 但是比那道题要难&#xff0c;但用的方法是一样的&#xff0c;就是用栈的先进后出进行括号匹配&#xff0c;所以有写过之前那道题&#xff0c;这道题按照这个思路走我就写出了如下屎山代码…

使用宝塔面板部署前端项目到服务器

目录 文章目录 前言 一、第一步&#xff1a;创建文件夹 二、第二步&#xff1a;部署前端项目 三、第三步&#xff1a;打开防火墙 文章目录 前言第一步&#xff1a;创建文件夹第二步&#xff1a;部署前端项目第三步&#xff1a;打开防火墙总结 前言 在此之前&#xff0c;我…

智能优化算法应用:基于鹰栖息算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鹰栖息算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鹰栖息算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鹰栖息算法4.实验参数设定5.算法结果6.参考文…

DHorse v1.5.0 发布,基于 k8s 的发布平台

版本说明 新增特性 支持同一机器部署多个DHorse服务&#xff1b;支持Next、.NET应用部署&#xff1b;优化Node、Nuxt应用构建和部署的性能&#xff1b;默认使用fabric8客户端与k8s集群交互&#xff0c;可以通过指定参数-Dkubernetes-clientofficial切回到k8s官方客户端&#…

亚马逊推出 Graviton4:具有 536.7 GBps 内存带宽的 96 核 ARM CPU

如今&#xff0c;许多云服务提供商都设计自己的芯片&#xff0c;但亚马逊网络服务 (AWS) 开始领先于竞争对手&#xff0c;目前其子公司 Annapurna Labs 开发的处理器可以与 AMD 和英特尔的处理器竞争。本周&#xff0c;AWS 推出了 Graviton4 SoC&#xff0c;这是一款基于 ARM 的…

CentOS 7的新特性

CentOS 7在发布时相较于CentOS 6引入了许多重要的变化和优化。以下是一些主要的改进和新特性&#xff1a; 系统初始化程序&#xff1a;CentOS 7使用了systemd作为其初始化系统&#xff0c;取代了之前版本的init系统。systemd提供了更快的启动时间和更好的管理服务。 内核更新&…

【Filament】绘制圆形

1 前言 Filament环境搭建中介绍了 Filament 的 Windows 和 Android 环境搭&#xff0c;绘制三角形中介绍了绘制纯色和彩色三角形&#xff0c;绘制矩形中介绍了绘制纯色和彩色矩形&#xff0c;本文将使用 Filament 绘制圆形。 2 绘制圆形 本文项目结构如下&#xff0c;完整代码…

RetinaNet:Focal Loss for Dense Object Detection(CVPR2018)

文章目录 Abstract北京发现问题并给出方法成果 IntroductionRelated WorkRobust 评估 Focal LossBalanced Cross EntropyFocal Loss DefinitionClass Imbalance and Model InitializationClass Imbalance and Two-stage Detectors RetinaNet DetectorExperimentsConclusion hh …

SRE 与 DevOps 的不同之处

尽管网站可靠性工程 (SRE) 理念早在 2003 年就由 Google 的 Ben Treynor Sloss 提出&#xff0c;但其近年来却一直受到追捧。随着 DevOps 实践已经在许多组织中牢固确立&#xff0c;两者之间的冲突是否已经显现&#xff1f;SRE 只不过是一种过时的趋势吗&#xff1f;是 SRE 补充…

基于博弈树的开源五子棋AI教程[5 启发式搜索]

文章目录 1 最大化攻击者/最小化防守者排序2 置换表启发3 杀手表启发4 历史表启发历史表以及杀手表的维护初始化追加杀手表项清空杀手表 启发式搜索的姿势千奇百怪&#xff0c;本文只讨论一下几种 //搜索空间 #define Search_Space_MVA 0 //最优价值攻击者[分数最大] #d…

基于SpringBoot的桃花峪滑雪场租赁系统 JAVA简易版

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 游客服务2.2 雪场管理 三、数据库设计3.1 教练表3.2 教练聘请表3.3 押金规则表3.4 器材表3.5 滑雪场表3.7 售票表3.8 器材损坏表 四、系统展示五、核心代码5.1 查询教练5.2 教练聘请5.3 查询滑雪场5.4 滑雪场预定5.5 新…

WebAssembly 的魅力:高效、安全、跨平台(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

小样本学习idea(不断更新)

在此整理并记录自己的思考过程&#xff0c;其中不乏有一些尚未成熟或者尚未实现的idea&#xff0c;也有一些idea实现之后没有效果或者正在实现&#xff0c;当然也有部分idea已写成论文正在投稿&#xff0c;都是自己的一些碎碎念念的思考&#xff0c;欢迎交流。 研一上学期 9.…

【Geo-AI】Tiff影像转vector方法

看SAM-Geo库源码时&#xff0c;看到了TIFF影像转矢量数据的方法&#xff0c;这就触动了我的专业基因&#xff0c;必须得保存下来&#xff0c;以防后续用的到.手动doge def raster_to_vector(source, output, simplify_toleranceNone, dst_crsNone, **kwargs):""&quo…

P7909 [CSP-J 2021] 分糖果

P7909 [CSP-J 2021] 分糖果 分糖果 题意 我要分糖果给n个小朋友&#xff0c;分多少次都没关系&#xff0c;但是&#xff0c;最后剩下的糖果要给自己。求自己最多拿到糖果的数量。 思路 定义输入if、else语句&#xff0c;分情况。一种情况情况是能力与实际差不多&#xff0c;二…