Posts pythonTip 31 山峰的个数
Post
Cancel

pythonTip 31 山峰的个数

题目描述:

十一假期,小P出去爬山,爬山的过程中每隔10米他都会记录当前点的海拔高度(以一个浮点数表示), 这些值序列保存在一个由浮点数组成的列表h中。回到家中,小P想研究一下自己经过了几个山峰,请你帮他计算一下,输出结果。 例如:h=[0.9,1.2,1.22,1.1,1.6,0.99], 将这些高度顺序连线,会发现有两个山峰,故输出一个2(序列两端不算山峰)

示例:

输入:h = [0.9, 1.2, 1.22, 1.1, 1.6, 0.99]

输出:2

分析:

我们如何来判断是一个山峰呢? 假设现在有三个点,a,b,c。 只要 b > a, b > c, 那么 b 就是一个山峰。

代码:

1
2
3
4
5
6
7
8
9
len_h = len(h)

res = 0

for i in range(1, len_h-1):
    if h[i] > h[i-1] and h[i] > h[i + 1]:
        res += 1

print(res)
This post is licensed under CC BY 4.0 by the author.
Trending Tags
Contents

pythonTip 30 National Day

pythonTip 32 山峰的个数

Trending Tags