题解 | #跳台阶#

跳台阶

http://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4

/**
*f(n)=f(n-1)+f(n-2) 主要对这个进行优化、动态规划方法最优
*/

方法一
if (target <= 2) {
return target;
}
int pre2=1,pre1=2;
int ans=0;
for (int i = 3; i <=target ; i++) {
ans=pre2+pre1;
pre2=pre1;
pre1=ans;
}
return ans;

方法二:
d[1]=1;
d[2]=2;
for (int i = 3; i <= target; i++) {
d[i]=d[i-1]+d[i-2];
}
return d[target];

方法三:
if (target <= 2) {
return target;
}
return jumpFloor(target - 1) + jumpFloor(target - 2);

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务