华为OD机试 - 山峰个数(Java 2024 C卷 100分)

在这里插入图片描述

华为OD机试 2024C卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷+C卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

给定一个数组,数组中的每个元素代表该位置的海拔高度。0表示平地,>=1时表示属于某个山峰,山峰的定义为当某个位置的左右海拔均小于自己的海拔时,该位置为山峰。数组起始位置计算时可只满足一边的条件。

二、输入描述

一个整数数组。

三、输出描述

输出符合条件的山峰的个数。

1、输入

[0,1,2,3,2,4]

2、输出

2

四、解题思路

  1. 遍历数组中的每个位置,判断是否符合山峰的定义。
  2. 对于每个位置,判断其是否大于左右两侧的海拔高度,如果是,则该位置是山峰。
  3. 特别注意数组的起始位置,起始位置的山峰只需满足右侧的条件即可。
  4. 统计符合条件的山峰的个数并输出。

五、Java算法源码

public class OdTest01 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取整数数组String input = scanner.nextLine();String[] inputs = input.substring(1,input.length()-1).split(",");int[] heights = new int[inputs.length];for (int i = 0; i < inputs.length; i++) {heights[i] = Integer.parseInt(inputs[i]);}// 统计符合条件的山峰的个数int count = countPeaks(heights);// 输出结果System.out.println(count);}// 统计符合条件的山峰的个数private static int countPeaks(int[] heights) {int count = 0;// 判断起始位置是否是山峰if (heights.length > 1 && heights[0] > heights[1]) {count++;}// 判断中间位置是否是山峰for (int i = 1; i < heights.length - 1; i++) {if (heights[i] > heights[i - 1] && heights[i] > heights[i + 1]) {count++;}}// 判断最后一个位置是否是山峰if (heights.length > 1 && heights[heights.length - 1] > heights[heights.length - 2]) {count++;}return count;}
}

六、效果展示

1、输入

[3,0,3,4,1]

2、输出

2

在这里插入图片描述


🏆下一篇:华为OD机试 - 简易内存池 - 逻辑分析(Java 2024 C卷 200分)

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷+C卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

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

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

相关文章

STM32_IIC通信

IIC通信 • I2C&#xff08;Inter IC Bus&#xff09;是由Philips公司开发的一种通用数据总线 • 两根通信线&#xff1a;SCL&#xff08;串行时钟线&#xff09;、SDA&#xff08;串行数据线&#xff09; • 同步&#xff0c;半双工 • 带数据应答 • 支持总线挂载多…

基于SpringBoot设计模式之创建型设计模式·生成器模式

文章目录 介绍开始架构图样例一定义生成器定义具体生成器&#xff08;HTML格式、markdown格式&#xff09;实体类HTML格式生成器MarkDown格式生成器 测试样例 总结优点缺点 介绍 将一个复杂对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。   如…

停车场车位引导系统是什么,停车场车位引导系统有哪些作用?

随着城市交通的快速发展&#xff0c;车辆的数量也在迅速增长&#xff0c;随之而来的就是停车难的问题&#xff0c;那么在城市中&#xff0c;如何合理的利用好现有资源&#xff0c;让停车资源得到合理利用呢&#xff1f;这就需要一套科学有效的智能停车场系统&#xff0c;可以帮…

2024 年第四届长三角高校数学建模竞赛B题

赛道 B&#xff1a;人工智能范式的物理化学家 物理和化学研究的对象日益复杂化、高维化&#xff0c;传统的研究范式主要是依赖于“穷举”、“试错”、“重复”等手段。面对庞大的化学空间&#xff0c;配方和工艺等各种参数的搜索常常止步于局部最优&#xff0c;无法进行配方和工…

圆上点云随机生成(人工制作模拟数据)

1、背景介绍 实际上,很多地物外表形状满足一定的几何形状结构,如圆形是作为常见一类。那么获取该类目标的点云数据便是位于一个圆上的点云数据。如下图所示为两簇典型的点云,其中一种为理想型,点均位于一个圆上,另外一簇则是近似位于一个圆上,这种更加符合真实情况。有时…

语法分析-文法

如果对于一部文法中&#xff0c;存在至少一个句子有两个或者两个以上的语法树则该文法是二义性的。 我们可以以上面的例子进行解释&#xff0c;对于第棵个语法树&#xff0c;我们可以看到是先进行了加法运算再进行的乘法运算&#xff0c;因为需要先把EE作为整体运算完后再成为E…

18.04版本的ubuntu没有连接网络的图标(坑人版)

以下更新内核别看&#xff0c;因为后面安装驱动报一堆错误!!! 不升级内核成功方法跳转连接&#xff1a;https://blog.csdn.net/weixin_53765004/article/details/138771613?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%2213877…

详解jmeter命令行参数的使用方法

相信大多数同学都通过命令行的方式使用过jmeter&#xff0c;因为在压测机是linux时&#xff0c;一般都是通过命令行的方式运行jmeter来进行压测的&#xff0c;本文会对这些命令行参数进行详解讲解。 如果大家还不了解如何在linux中运行jmeter&#xff0c;可以参考文章&#x…

哪些充电宝比较耐用?小米可以用什么充电宝、十大公认耐用充电宝

在现代社会的快节奏生活中&#xff0c;智能手机已经变得不可或缺。它不仅是我们的通讯工具&#xff0c;还是我们获取信息、娱乐休闲的重要设备。然而&#xff0c;当我们在外出、旅行或日常生活中频繁使用手机时&#xff0c;手机的续航问题常常让我们感到焦虑。为了解决这个问题…

C++ static_cast学习

static_cast可实现&#xff0c; 1 基本类型之间的转换 2 void指针转换为任意基本类型的指针 3 用于有继承关系的子类与父类之间的指针或引用的转换 用于基本类型转化时&#xff0c;会损失精度类似于C语言的强制转化&#xff1b; 下面先看一下void指针的转换&#xff1b; …

CTF网络安全大赛web题目:just_sqli

这道题目是bugku的web题目 题目的 描  述: KosenCTF{} 原文链接&#xff1a; CTF网络安全大赛web题目&#xff1a;just_sqli - 红客网-网络安全与渗透技术 题目Web源代码&#xff1a; <?php$user NULL; $is_admin 0;if (isset($_GET["source"])) {highlig…

位图和布隆过滤器:位图

在《unordered_map 和 unordered_set》 中提到过&#xff1a; 哈希是一种思想&#xff0c;通过哈希函数将数据转化为一个或多个整型 —— 映射关系&#xff1b;通过这种映射关系&#xff0c;可以做到以 O(1) 的时间复杂度查找数据。 本文即将介绍的 位图 和 布隆过滤器 就是两个…