华为OD机试2024年C卷D卷 - 山脉的个数/攀登者1 (Java)

news2024/11/25 15:52:41

华为OD机试(C卷+D卷)2024真题目录

题目描述

攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。

地图表示为一维数组,数组的索引代表水平位置,数组的元素代表相对海拔高度。其中数组元素0代表地面。

例如:[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0],代表如下图所示的地图,地图中有两个山脉位置分别为 1,2,3,4,5 和 8,9,10,11,12,13,最高峰高度分别为 4,3。最高峰位置分别为3,10。

一个山脉可能有多座山峰(高度大于相邻位置的高度,或在地图边界且高度大于相邻的高度)。

在这里插入图片描述

输入描述

输入为一个整型数组,数组长度大于1。

输出描述

输出地图中山峰的数量。

示例输入1

0, 1, 2, 3, 2, 4

示例输出1

2

示例输入2

0,1,4,3,1,0,0,1,2,3,1,2,1,0

示例输出2

3

示例2说明: 山峰所在索引分别为3,10,12

解题思路
本题考试时为leetcode同样的核心代码模式,非ACM模式,即无需自己解析输入数据。

只要大于相邻的左右数值,则是山峰,遍历数组,找出满足山峰条件的个数

public class Solution {

  // 算法实现(本题实际考试为核心代码模式,因此考试时只需要写出此函数实现即可)
  public static int countPeaks(int[] heights) {
    int peakCount = 0;

    for (int i = 0; i < heights.length; i++) {
      int leftHeight = i - 1 >= 0 ? heights[i - 1] : 0;
      int rightHeight = i + 1 < heights.length ? heights[i + 1] : 0;

      if (heights[i] > leftHeight && heights[i] > rightHeight) {
        peakCount++;
      }
    }

    return peakCount;
  }
}

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

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

相关文章

MySQL面试篇章——MySQL核心SQL(基本语法)

文章目录 结构化查询语句SQL库操作表操作CURD 操作insert 增加update 修改delete 删除 select 查询去重 distinct空值查询union 合并查询带 in 子查询分页查询排序 order by分组 group by笔试实践题 连接查询内连接查询外连接查询左连接查询右连接查询 结构化查询语句SQL SQL是…

内置对象的原型继承

Object.prototype&#xff08;原型链顶部&#xff09; console.log(ItShare.__proto__); console.log(ItShare.__proto__.__proto__); console.log(ItShare.__proto__.__proto__.__proto__);那么数组的原型链是什么呢&#xff1f; const arr [1, 2, 5, 4, 55, 66, 54]; cons…

matlab2018b安装

1.可先参考这个 2.激活 按上面教程安装后&#xff0c;打开matlab 可能会出现软件激活这个界面&#xff0c;需要按如下步骤进行操作。

Android Studio 中使用switch语句时报错Constant expression required

发现问题 Android Studio 中使用switch语句时报错Constant expression required 解决方法&#xff1a; 首先&#xff0c; 在gradle.properties配置文件下添加代码&#xff1a; android.nonFinalResIdsfalse之后&#xff0c; 点击&#xff1a;“Sync Now” 进行同步 效果 原…

《梦醒蝶飞:释放Excel函数与公式的力量》18.2 数据可视化技术

第18章&#xff1a;创建图表和数据可视化 18.2 数据可视化技术 数据可视化是将数据转化为图形和图表的过程&#xff0c;以便更好地理解和分析数据。有效的数据可视化可以揭示数据的模式、趋势和异常&#xff0c;从而帮助做出更明智的决策。以下将介绍几种常用的数据可视化技术…

【C++】————搜索二叉树

作者主页&#xff1a; 作者主页 本篇博客专栏&#xff1a;C 创作时间 &#xff1a;2024年7月22日 什么是二叉搜索树&#xff1f; 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 若它的左子树不为空&#xff0…

大模型学习笔记 - LLM指令微调

LLM 指令微调 LLM 指令微调 0. 概览1. 指令数据的构建 1.1 基于现有NLP任务数据集构建1.2 基于日常对话数据构建1.3 基于合成数据构建1.4 指令数据构建的提升方法 2. 指令微调的策略 2.1 优化设置2.2 数据组织策略 3. 参数高效的模型微调 3.1 低秩适配微调方法3.2 其他高效微调…

【跨链机制】哈希锁定原理

随着区块链多年来的发展&#xff0c;在区块链生态中已经形成了不同特性的区块链网络&#xff0c;这些网络之间存在着一定的隔离和孤立性。为了打破这种局面&#xff0c;跨链技术应运而生&#xff0c;促进了区块链间的数据流通和价值交换。目前&#xff0c;主流的跨链机制包括公…

电路学习——经典运放电路之滞回比较器(施密特触发器)(2024.07.18)

参考链接1: 电子设计教程29&#xff1a;滞回比较器&#xff08;施密特触发器&#xff09; 参考链接2: 滞回比较器电路详细分析 参考链接3: 比较器精髓&#xff1a;施密特触发器&#xff0c;正反馈的妙用 参考链接4: 比较器反馈电阻选多大&#xff1f;理解滞后效应&#xff0c;轻…

Kafka之存储设计

文章目录 1. 分区和副本的存储结构1. 分区和副本的分布2. 存储目录结构3. 文件描述 2. 相关配置3. 数据文件类型4. 数据定位原理LogSegment 类UnifiedLog 类 5. 副本数据同步HW水位线LEO末端偏移量HW更新原理 6. 数据清除 1. 分区和副本的存储结构 在一个多 broker 的 Kafka 集…

如何学习Linux:糙快猛的大数据之路( 只讲大数据开发用到的)

引言 还记得第一次面对Linux命令行时的茫然吗&#xff1f;黑乎乎的终端&#xff0c;闪烁的光标&#xff0c;还有那些看起来像外星文的命令。 作为一个从0基础开始跨行到大数据领域的开发者&#xff0c;我深深体会到了学习Linux的重要性和挑战。今天&#xff0c;我想和大家分享…

谷粒商城实战-Vue学习过程中踩坑记录

一&#xff0c;自闭合的<script>标签 第一次使用Vue&#xff0c;按照步骤引入vue.js&#xff0c;创建div&#xff0c;创建Vue对象&#xff0c;但是未达预期效果。 插值表达式{{name}}没被替换为data对象中的属性值。 F12看了下网页源代码&#xff0c;发现创建Vue对象的…

计算机组成原理面试知识点总结1

#ウルトラマンゼット&#xff08;泽塔&#xff09; 1 计算机发展历程 1.1 计算机的硬件发展 电子管时代晶体管时代中小规模集成电路时代超大规模集成点电路时代 元件更新变化&#xff1a; 摩尔定律&#xff1a;18 个月晶体管翻一倍半导体存储器不断发展微处理器不断发展 1.2…

适合学生的护眼台灯哪个牌子最好?学生护眼台灯十大排名名单

适合学生的护眼台灯哪个牌子最好&#xff1f;作为一名当代的学生&#xff0c;经常会出现长时间用眼的情况&#xff0c;但是这种状况是难以改变的&#xff0c;我国的学习教育一直都在“内卷”&#xff0c;学生课业重&#xff0c;每日的夜间学习更是成了孩子的家常便饭&#xff0…

数据结构之字符串的最长公共子序列问题详解与示例(C,C++)

文章目录 1、最长公共子序列定义2、动态规划解法3、状态转移方程初始化构建最长公共子序列 4、C 和 C 实现示例C 语言实现C 语言实现 5、总结 字符串的最长公共子序列&#xff08;Longest Common Subsequence, LCS&#xff09;是计算机科学中的一个经典问题&#xff0c;属于动态…

08、Tomcat 部署及优化

8.1 Tomcat概述 8.1.1 Tomcat介绍 自从 JSP 发布之后,推出了各式各样的 JSP 引擎。Apache Group 在完成 GNUJSP1.0的开发以后&#xff0c;开始考虑在 SUN 的 JSWDK 基础上开发一个可以直接提供 Web 服务的 JSP服务器&#xff0c;当然同时也支持 Servlet, 这样 Tomcat 就诞生…

函数(递归)

递归&#xff1a;程序调用自身编程技巧称为递归。 在学习递归前需要粗略的了解一下内存&#xff0c;内存分为三类&#xff0c;分别是栈区、堆区和静态区。对于栈区来说&#xff0c;每调用一次函数都会为本次函数开辟一块空间&#xff0c;然而栈区也是有空间限制的&#xff0c;随…

GCN知识总结

关键点&#xff1a; 1.理解图结构的形式 2.如何使用邻接矩阵实现其图结构形式 3.GCN卷积是如何实现节点特征更新的 核心公式&#xff1a; 特征提取&#xff1a; 处理好的x 代表节点特征&#xff0c;然后*权重&#xff0c;再*邻接。 A尖换元后&#xff1a; forward函数 传播规则…

基于SpringBoot+Vue的篮球竞赛预约平台(带1w+文档)

基于SpringBootVue的篮球竞赛预约平台(带1w文档) 基于SpringBootVue的篮球竞赛预约平台(带1w文档) 本系统提供给管理员对首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;项目分类管理&#xff0c;竞赛项目管理&#xff0c;赛事预约管理&#xff0c;系统管理等诸多功…

C++中的模板函数和模板类

模板是 C 中的泛型编程的基础&#xff0c;编写与类型无关的通用代码&#xff0c;是代码复用的一种手段。 作为强类型语言&#xff0c;C 要求所有变量都具有特定类型&#xff0c;由程序员显式声明或编译器推导。 但是&#xff0c;许多数据结构和算法无论在哪种类型上操作&#x…