leetcode 70.爬楼梯

70.爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

思路1:
leetcode 70.爬楼梯
爬一阶楼梯只需要一次,爬两阶楼梯需要两次,爬三阶楼梯存在分成两种情况,一种是从一阶爬两此次,一种是从两阶爬一次。

package string;

public class Solution {
	public int climbStairs(int n) {
		if (n == 1)
			return 1;
		if (n == 2)
			return 2;
		int i = 2;
		int arr[] = new int[n];
		arr[0] = 1;
		arr[1] = 2;
		while (i < n) {
			arr[i] = arr[i - 1] + arr[i - 2];
			i++;
		}

		return arr[i-1];
	}
public static void main(String[] args) {
	System.out.println(new Solution().climbStairs(3));
}
}