diff --git a/02. Algorithms/09. Dynamic Programming/002. Climbing Stairs/code.js b/02. Algorithms/09. Dynamic Programming/002. Climbing Stairs/code.js new file mode 100644 index 00000000..093745b7 --- /dev/null +++ b/02. Algorithms/09. Dynamic Programming/002. Climbing Stairs/code.js @@ -0,0 +1,18 @@ +/** + * @param {number} n + * @return {number} + */ +var climbStairs = function(n) { + + function goRecursive(steps, memo) { + + if(memo[steps]) return memo[steps]; + if(steps === 0) return 1; + if(steps < 0) return 0; + + memo[steps] = goRecursive(steps - 1, memo) + goRecursive(steps - 2, memo); + return memo[steps]; + } + + return goRecursive(n,{}); +};