From 6275b709d7bc1352f8cc1a1d2cb880542ec583ca Mon Sep 17 00:00:00 2001 From: illegalcall <44542765+illegalcall@users.noreply.github.com> Date: Sun, 4 Oct 2020 19:44:58 +0530 Subject: [PATCH] Create ClimbingStairs.js (#379) * Create ClimbingStairs.js * Update ClimbingStairs.js Co-authored-by: vinayak --- Dynamic-Programming/ClimbingStairs.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Dynamic-Programming/ClimbingStairs.js diff --git a/Dynamic-Programming/ClimbingStairs.js b/Dynamic-Programming/ClimbingStairs.js new file mode 100644 index 000000000..6546e3ab4 --- /dev/null +++ b/Dynamic-Programming/ClimbingStairs.js @@ -0,0 +1,26 @@ +/* + * You are climbing a stair case. It takes n steps to reach to the top. + * Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? +*/ + +const climbStairs = (n) => { + let prev = 0 + let cur = 1 + let temp + + for (let i = 0; i < n; i++) { + temp = prev + prev = cur + cur += temp + } + return cur +} + +const main = () => { + const number = 5 + + console.log('Number of ways to climb ' + number + ' stairs in ' + climbStairs(5)) +} + +// testing +main()