iT邦幫忙

第 12 屆 iThome 鐵人賽

0
自我挑戰組

用LeetCode來訓練大腦的邏輯思維系列 第 30

LeetCode 896. Monotonic Array

  • 分享至 

  • xImage
  •  

題目

An array is monotonic if it is either monotone increasing or monotone decreasing.

An array A is monotone increasing if for all i <= j, A[i] <= A[j]. An array A is monotone decreasing if for all i <= j, A[i] >= A[j].

Return true if and only if the given array A is monotonic.

題意

檢查陣列是否為遞增或遞減陣列,可接受相同元素,若陣列中同時出現遞增與遞減情況,即無法通過驗證。

Example 1:

Input: nums = [1,2,2,3]
Output: true

Example 2:

Input: nums = [6,5,4,4]
Output: true

Example 3:

Input: nums = [1,3,2]
Output: false

Example 4:

Input: nums = [1,2,4,5]
Output: true

Example 5:

Input: nums = [1,1,1]
Output: true

解題想法

宣告變數,updown,若出現遞增,則down = 0,出現遞減up = 0,如果最終down = 0up = 0,表示無法通過驗證。

Solution

var isMonotonic = function (A) {
  let up = 1;
  let down = 1;
  for (let i = 1; i < A.length; i++) {
    if (A[i] > A[i - 1]) {
      down = 0;
    } else if (A[i] < A[i - 1]) {
      up = 0;
    }
  };
  return (down || up);
};

上一篇
LeetCode 581. Shortest Unsorted Continuous Subarray
系列文
用LeetCode來訓練大腦的邏輯思維30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言