题目
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
分析动态规划,斐波那契额数列
代码
public class ClimbingStairs { public int climbStairs(int n) { if (n <= 2) { return n; } int[] dp = new int[n]; // init dp[0] = 1; dp[1] = 2; // dp for (int i = 2; i < n; ++i) { dp[i] = dp[i - 1] + dp[i - 2]; } return dp[n - 1]; } }
【读书札记】《淘宝技术这十年》,布布扣,bubuko.com
原文:http://blog.csdn.net/pearyangyang/article/details/21565385