标签:etc 动态 [] data img 楼梯 png 动态规划 倒数
输入: 2
输出: 2
解释: 有两种方法可以爬到楼顶。
1 阶 + 1 阶
2 阶
输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1 阶 + 1 阶 + 1 阶 1 阶 + 2 阶 2 阶 + 1 阶
思路:
关于动态规划的问题,一般选择先使用递归的思路切入问题。以本题为例:
直接使用动态规划去思考确实有一定难度,如果我们使用递归的思路自上而下思考找到状态转移方程作为切入点,才是解题的方法
class Solution { public int climbStairs(int n) { int[] res = new int[n+1]; for(int i =0 ; i<res.length ; i++) res[i] = -1; res[0] = 1; res[1] = 1; for(int i = 2 ; i<= n; i++) res[i] = res[i-1] + res[i-2]; return res[n]; } }
标签:etc 动态 [] data img 楼梯 png 动态规划 倒数
原文地址:https://www.cnblogs.com/rainxbow/p/9695415.html