简易[Java]动态规划题目: 爬楼梯
个人写作题目:爬楼梯
需要 n 阶你才能到达楼顶。
每次可以爬 1 或 2 个台阶,有多少种不同的方法可以爬到楼顶呢?
参与类:
class Solution {
public int climbStairs(int n) {
int x = 0, y = 0, z = 1;
for (int i = 1; i <= n; i++) {
x = y;
y = z;
z = x + y;
}
return z;
}
}
思路:
对题目进行分析可知,下一个台阶的数是上俩个台阶的和。
即次一级台阶只有走一个台阶,次二级台阶可以走俩次一级台阶和走一次二级台阶的俩个不同的方法
即每次最多只有三个变量需要调用,则可以使用三个变量进行循环解决问题
问题:
理解题目才是最大的问题
总结:
加强题目理解能力,多对题目进行分析