Skip to content

Latest commit

 

History

History
67 lines (52 loc) · 1.05 KB

0896-单调数列.md

File metadata and controls

67 lines (52 loc) · 1.05 KB

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

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

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

 

示例 1:

输入:[1,2,2,3] 输出:true 示例 2:

输入:[6,5,4,4] 输出:true 示例 3:

输入:[1,3,2] 输出:false 示例 4:

输入:[1,2,4,5] 输出:true 示例 5:

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

提示:

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

var isMonotonic = function(A) {
  let left = 1
  let right = A.length - 1

  while(left <= right) {
    if (A[left] <= A[left - 1]) {
      left++
    } else {
      break
    }
  }
  if (left > right) {
    return true
  }
  left = 1
  while(left <= right) {
    if (A[left] >= A[left - 1]) {
      left++
    } else {
      break
    }
  }
  if (left > right) {
    return true
  }
  return false
};

解题思路: 两次循环分别判断是否递增递减