目录
- 题目
- 1- 思路
- 2- 实现
- ⭐70. 爬楼梯——题解思路
- 3- ACM实现
题目
- 原题连接:70. 爬楼梯
1- 思路
思路
- 爬楼梯 ——> 动规五部曲
2- 实现
⭐70. 爬楼梯——题解思路
class Solution {
public int climbStairs(int n) {
if(n<=1){
return 1;
}
// 1. 定义 dp 数组
// dp 代表走到 n 阶的方法数
int[] dp = new int[n];
// 2. 递推公式
// dp[i] = dp[i-1] + dp[i-2];
// 3. 初始化
dp[0] = 1;
dp[1] = 2;
for(int i = 2;i < n ;i++){
dp[i] = dp[i-1] + dp[i-2];
}
return dp[n-1];
}
}
3- ACM实现
public class upStairs {
public static int upStairs(int n){
// 1. 定义 dp 数组
int[] dp = new int[n];
// 2. 递推公式
// dp[i] = dp[i-1] + dp[i-2];
//3. 初始化
dp[0] = 1;
dp[1] = 2;
// 4. 遍历
for(int i = 2 ; i< n;i++){
dp[i] = dp[i-1] + dp[i-2];
}
return dp[n-1];
}
public static void main(String[] args) {
System.out.println("输入数字n");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println("种类数是"+upStairs(n));
}
}