动态规划问题系统---climbing-stairs

来源:互联网 发布:手机中文解压软件 编辑:程序博客网 时间:2024/06/03 20:17

题目

给定n个台阶,每次走1个或2个台阶;总共有多少种走法?

分析

动态规划
dp[i]表示i个台阶的走法
dp[i]=dp[i-1]+dp[i-2]

dp[0]=0;
dp[1]=1;
dp[2]=2;

实现

public static int climbStairs(int n){        if(n==0){            return 0;        }        if(n==1){            return 1;        }        int[] dp=new int[n+1];        //初始化        dp[0]=0;        dp[1]=1;        dp[2]=2;        //递推        for(int i=3;i<=n;i++){            dp[i]=dp[i-1]+dp[i-2];        }        return dp[n];    }
0 0