Skip to content

Commit 245a1b1

Browse files
committed
climbing-stairs solution
1 parent 54577e5 commit 245a1b1

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

climbing-stairs/togo26.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* @param {number} n
3+
* @return {number}
4+
*/
5+
6+
// TC: O(n) / SC: O(n)
7+
var climbStairs = function (n) {
8+
if (n <= 3) return n;
9+
const dp = [1, 2, 3];
10+
for (let i = 3; i < n; i++) {
11+
dp[i] = dp[i - 2] + dp[i - 1];
12+
}
13+
14+
return dp[dp.length - 1];
15+
};
16+
17+
// TC: O(n) / SC: O(1)
18+
var climbStairs = function (n) {
19+
let temp,
20+
pre1 = 1,
21+
pre2 = 1;
22+
for (let i = 1; i < n; i++) {
23+
temp = pre2;
24+
pre2 = pre1 + pre2;
25+
pre1 = temp;
26+
}
27+
return pre2;
28+
};

0 commit comments

Comments
 (0)