DEV Community

ZeeshanAli-0704
ZeeshanAli-0704

Posted on

Valid Mountain Array

const validMountainArray = function (arr) {
  let maxHeight = Number.NEGATIVE_INFINITY;

  if (arr.length == 1 || arr.length === 2) {
    return false;
  }

  for (let i = 0; i < arr.length; i++) {
    maxHeight = Math.max(maxHeight, arr[i]);
  }

  const peakIndex = arr.indexOf(maxHeight);

  if (peakIndex === 0 || peakIndex === arr.length - 1) {
    return false;
  }
  // check up hill..
  for (let i = 0; i < peakIndex - 1; i++) {
    if (arr[i] >= arr[i + 1]) {
      return false;
    }
  }

  for (let i = peakIndex; i < arr.length; i++) {
    if (arr[i] <= arr[i + 1]) {
      return false;
    }
  }

  return true;
};

console.log(validMountainArray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]));

Enter fullscreen mode Exit fullscreen mode

Top comments (0)