1、题目描述
2、问题分析
使用动态规划。
3、代码
1 int climbStairs(int n) { 2 if( n <= 2){ 3 return n; 4 } 5 6 int dp[n+1]; 7 dp[0] = 0; 8 dp[1] = 1; 9 dp[2] = 2; 10 for( int i = 3; i <= n ; i++){ 11 dp[i] = dp[i-1] + dp[i-2]; 12 } 13 14 return dp[n]; 15 }
1、题目描述
2、问题分析
使用动态规划。
3、代码
1 int climbStairs(int n) { 2 if( n <= 2){ 3 return n; 4 } 5 6 int dp[n+1]; 7 dp[0] = 0; 8 dp[1] = 1; 9 dp[2] = 2; 10 for( int i = 3; i <= n ; i++){ 11 dp[i] = dp[i-1] + dp[i-2]; 12 } 13 14 return dp[n]; 15 }