你正在爬楼梯。须要 n 步你才能到达顶部。code
每次你能够爬 1 或 2 个台阶。你有多少种不一样的方式能够爬到楼顶呢?cli
注意:给定 n 将是一个正整数。方法
示例 1: 输入: 2 输出: 2 说明: 有两种方法能够爬到顶端。 1. 1 步 + 1 步 2. 2 步
示例 2: 输入: 3 输出: 3 说明: 有三种方法能够爬到顶端。 1. 1 步 + 1 步 + 1 步 2. 1 步 + 2 步 3. 2 步 + 1 步
public int climbStairs(int n) { if (n<=1){ return 1; } int[] f = new int[n+1]; f[1]=1; f[2]=2; for (int i = 3; i <= n; i++) { f[i] = f[i-1]+f[i-2]; } return f[n]; }