您的位置:首页 > 大数据 > 人工智能

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

2016-09-18 01:59 281 查看

题目

给定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
;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: