3105.js
/** ------------------------------------------------------------------------------
*
* 3105. Longest Strictly Increasing or Strictly Decreasing Subarray
* Topics: Array
* https://leetcode.com/problems/longest-strictly-increasing-or-strictly-decreasing-subarray/?envType=daily-question&envId=2025-02-03
*
------------------------------------------------------------------------------ */
/**
* @param {number[]} nums
* @return {number}
*/
var longestMonotonicSubarray = function (nums) {
const n = nums.length
if (n < 2) return n
let max = 1
let currInc = 1
let currDec = 1
for (let i = 1; i < n; i++) {
if (nums[i - 1] < nums[i]) {
currInc++
max = Math.max(max, currInc)
currDec = 1
} else if (nums[i - 1] > nums[i]) {
currDec++
max = Math.max(max, currDec)
currInc = 1
} else {
currInc = 1
currDec = 1
}
}
return max
}
console.log(longestMonotonicSubarray([1, 4, 3, 3, 2]))