通过率 57% · 提交 144 · 通过 82
小慕正在研究一张特殊的地图,这张地图用表示,数组的代表水平位置,数组的高度代表相对海拔高度。其中数组元素 `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`。 一个山脉可能有多座山峰(高度大于相邻位置的高度,或在地图边界且高度大于相邻的高度)。
4
+---+
| |
| | 3 3
| |
| +---+ +---+
| | | |
2 | | 2 | | 2
| | | |
+---+ | +---+ | +---+
| | | | | |
1 | | 1 1 | | 1 | | 1
| | | | | |
+---+ +---+ +---+ +---+ +---+
| | | |
0 | | 0 0 | | 0
| | | |
+---+ +-------+ +---+
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14小慕在登山时会消耗体力(整数),上山时,消耗两倍的体力,下坡时消耗相邻高度差一倍的体力,平地不消耗体力,体力消耗到零时会有生命危险。 例如,上图所示的山峰:从 `0`,走到索引 `1`,高度差为 `1`,需要消耗 `2*1=2` 的体力;从索引 `2` 高度 `2`走到高度 `4` 索引 `3` 需要消耗 `2*2=4` 的体力;从索引 `3` 走到索引 `4` 则消耗 `1*1=1` 的体力。 小慕想知道这张地图中有多少座山峰?
这类题属于华为 OD 机考真题方向中「100分 / 数组」方向的高频题型,通常考察对「100分 / 数组」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
第一行输入一个长度为N的数组,表示地图。
输出一个数字,地图中的山峰数量
示例 1
输入示例
0,1,4,3,1,0,0,1,2,3,1,2,1,0
输出示例
3
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有