📜  Python程序来检查给定的数组是否是单调的(1)

📅  最后修改于: 2023-12-03 14:46:46.749000             🧑  作者: Mango

Python程序检查给定的数组是否单调

本程序用于检查给定的数组是否单调(单调增或单调减)。程序通过遍历数组,比较相邻元素的大小关系,以确定数组的单调性。

实现步骤

以下是本程序的实现步骤:

  1. 定义一个名为 is_monotonic 的函数,该函数接受一个参数 arr,表示待检查的数组。
  2. 创建两个变量 is_increasingis_decreasing,初始值均为 True,表示假设数组是单调增的或单调减的。
  3. 遍历数组,比较相邻元素的大小关系:
    • 如果当前元素小于前一个元素,则将 is_increasing 设为 False
    • 如果当前元素大于前一个元素,则将 is_decreasing 设为 False
    • 如果 is_increasingis_decreasing 都为 False,表示数组不单调,可以提前结束遍历。
  4. 返回 is_increasingis_decreasing,表示数组是否单调。

代码如下:

def is_monotonic(arr):
    is_increasing = True
    is_decreasing = True
    for i in range(1, len(arr)):
        if arr[i] < arr[i-1]:
            is_increasing = False
        if arr[i] > arr[i-1]:
            is_decreasing = False
        if not is_increasing and not is_decreasing:
            break
    return is_increasing or is_decreasing
使用示例

以下是本程序的使用示例:

arr1 = [1, 2, 3, 4, 5]
arr2 = [5, 4, 3, 2, 1]
arr3 = [1, 2, 3, 2, 1]

print(is_monotonic(arr1))  # True
print(is_monotonic(arr2))  # True
print(is_monotonic(arr3))  # False
总结

本程序通过遍历数组,比较相邻元素的大小关系,实现了检查给定数组是否单调的功能。程序简单易懂,适用于小规模的数据集。