mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 08:50:15 +08:00
Merge pull request #1269 from xiaofei-2020/dp03
添加(0070.爬楼梯.md):增加typescript版本
This commit is contained in:
@ -308,7 +308,58 @@ var climbStairs = function(n) {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
TypeScript
|
||||||
|
|
||||||
|
> 爬2阶
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
function climbStairs(n: number): number {
|
||||||
|
/**
|
||||||
|
dp[i]: i阶楼梯的方法种数
|
||||||
|
dp[1]: 1;
|
||||||
|
dp[2]: 2;
|
||||||
|
...
|
||||||
|
dp[i]: dp[i - 1] + dp[i - 2];
|
||||||
|
*/
|
||||||
|
const dp: number[] = [];
|
||||||
|
dp[1] = 1;
|
||||||
|
dp[2] = 2;
|
||||||
|
for (let i = 3; i <= n; i++) {
|
||||||
|
dp[i] = dp[i - 1] + dp[i - 2];
|
||||||
|
}
|
||||||
|
return dp[n];
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
> 爬m阶
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
function climbStairs(n: number): number {
|
||||||
|
/**
|
||||||
|
一次可以爬m阶
|
||||||
|
dp[i]: i阶楼梯的方法种数
|
||||||
|
dp[1]: 1;
|
||||||
|
dp[2]: 2;
|
||||||
|
dp[3]: dp[2] + dp[1];
|
||||||
|
...
|
||||||
|
dp[i]: dp[i - 1] + dp[i - 2] + ... + dp[max(i - m, 1)]; 从i-1加到max(i-m, 1)
|
||||||
|
*/
|
||||||
|
const m: number = 2; // 本题m为2
|
||||||
|
const dp: number[] = new Array(n + 1).fill(0);
|
||||||
|
dp[1] = 1;
|
||||||
|
dp[2] = 2;
|
||||||
|
for (let i = 3; i <= n; i++) {
|
||||||
|
const end: number = Math.max(i - m, 1);
|
||||||
|
for (let j = i - 1; j >= end; j--) {
|
||||||
|
dp[i] += dp[j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dp[n];
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
### C
|
### C
|
||||||
|
|
||||||
```c
|
```c
|
||||||
int climbStairs(int n){
|
int climbStairs(int n){
|
||||||
//若n<=2,返回n
|
//若n<=2,返回n
|
||||||
|
Reference in New Issue
Block a user