JSFiddle - React, Tailwind, and code Playground

by krustnic

JavaScript

const DATA = [
  [0, 1, 5, 9, 15], // true
  [0, 1, 1, 5, 9, 9, 15], // true
  [15, 8, 4, 2, 1], // true
  [0, 1, 5, 15, 4], // false
  [2, 2, 0, -1], // true
  [2, 2, 2, 2] // true
];
const isMonotone = arr => {
  const isPositive = arr[0] >= arr[arr.length - 1];
  for (let i = 2; i < arr.length; i++) {
    const isCorrect = isPositive 
      ? arr[i] <= arr[i-1]
      : arr[i] >= arr[i-1];
    if (!isCorrect) return false;
  }
  return true;
}

console.log(DATA.map(isMonotone));