[LeetCode 896. 单调数列] | 刷题打卡

96 阅读1分钟

题目

如果数组是单调递增或单调递减的,那么它是单调的。

当给定的数组 A 是单调数组时返回 true,否则返回 false。

示例1

  • 输入:[1,2,2,3]
  • 输出:true

示例2

  • 输入:[1,1,1]
  • 输出:true

示例3

  • 输入:[1,3,2]
  • 输出:false

提示

  1. 1 <= A.length <= 50000
  2. -100000 <= A[i] <= 100000

题解

题目言简意赅,就是判断数组是否为单调的,那么,首先我们要了解什么为单调。

如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。

由此可以得出,只要遍历数组A,如果过程中既出现A[i] < A[i+1],又出现A[i] > A[i+1],则可得出结论数组A不是单调数组。反之数组A是单调数组

AC代码

var isMonotonic = function(A) {
    let inc = true, dec = true;
    const n = A.length;
    for (let i = 0; i < n - 1; ++i) {
        if (A[i] > A[i + 1]) {
            inc = false;
        }
        if (A[i] < A[i + 1]) {
            dec = false;
        }
    }
    return inc || dec;
};

就分享到这啦!咱们下个题目见~

记得不断进步哦~

image.png

本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情:juejin.cn/post/693314…