Climbing Stairs
问题:
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?
思路:
简单动态规划 count[i] = count[i-1] + count[i-2];
我的代码:
public class Solution { public int climbStairs(int n) { if(n < 1) return 0; int pre = 1; int cur = 1; for(int i = 2; i<= n; i++) { int change = cur; cur = cur + pre; pre = change; } return cur; } }