动态规划
public int numWays(int n) { if(n == 0 || n == 1) return 1; int[] dp = new int[n+1]; dp[0] = 1; dp[1] = 1; for(int i = 2;i<=n;i++){ int m = dp[i - 1] + dp[i - 2]; if(i>=44){ dp[i] = m %1000000007; }else { dp[i] = m; } } return dp[n]; }