📅  最后修改于: 2023-12-03 14:55:36.084000             🧑  作者: Mango
在算法和数据结构中,山的形式是一个具有以下特征的数组形式:
在本文中,我们将介绍如何判断一个给定的数组是否为山的形式,并提供一个示例代码来实现这一功能。
判断一个给定的数组是否为山的形式可以通过以下步骤实现:
以下是一个使用Python编写的示例代码,用于判断一个给定的数组是否为山的形式:
def is_mountain_array(arr):
# 检查数组长度
if len(arr) < 3:
return False
# 找到数组中的最大值及其索引
max_val = max(arr)
max_idx = arr.index(max_val)
# 检查最大值的索引位置
if max_idx == 0 or max_idx == len(arr) - 1:
return False
# 检查左侧部分是否严格递增
for i in range(max_idx):
if arr[i] >= arr[i+1]:
return False
# 检查右侧部分是否严格递减
for i in range(max_idx, len(arr)-1):
if arr[i] <= arr[i+1]:
return False
return True
# 测试示例数组
arr = [1, 3, 4, 5, 2]
print(is_mountain_array(arr)) # 输出: True
arr = [1, 2, 3, 4, 5]
print(is_mountain_array(arr)) # 输出: False
通过以上介绍,我们了解了如何判断一个给定的数组是否为山的形式。通过一些简单的判断条件,我们可以快速确定数组是否满足山的形式要求。示例代码提供了一个实现的参考,可以帮助程序员更好地理解和使用这个算法。