题目描述
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
class Solution {public int climbStairs(int n) {int[] dp = new int[n];dp[0]=1;if(n==1){return dp[0];}dp[1]=2;for(int i = 2; i < n; i++){dp[i] = dp[i-1] + dp[i-2];}return dp[n-1];}
}
小结:其实动规核心思想是空间换时间,这道题正常做就会超时,也算是动规入门题。