1
var validPartition = function (nums) {3
memo = Array(n).fill(-1);7
if (i === n) return true;8
if (i === n - 1) return false;9
if (memo[i] !== -1) return memo[i];11
if (nums[i] === nums[i + 1] && dp(i + 2)) return (memo[i] = true);13
if (!dp(i + 3)) return (memo[i] = false);15
nums[i] === nums[i + 1] && nums[i + 1] === nums[i + 2];16
let hasThreeConsecutive =17
nums[i] + 1 === nums[i + 1] && nums[i + 1] + 1 === nums[i + 2];18
if (hasThreeEqual || hasThreeConsecutive) return (memo[i] = true);20
return (memo[i] = false);