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));