上台阶
2015-09-03 13:56
225 查看
斐波那契数列变种
可以用三个变量存钱三个数。
public class ThreeStair { /** * 一个小孩上一个N级台阶的楼梯,他可以一次走1阶、2阶或3阶,那么走完N阶有多少种方式。 * */ public static int waysToMoveUp(int n) { if (n < 0) return -1; if (n < 3) { if(n == 0) { return 1; } return n; } int[] ways = new int[n + 1]; ways[0] = 1; ways[1] = 1; ways[2] = 2; for(int i=3; i<=n; ++i) { ways[i] = ways[i-1] + ways[i-2] + ways[i-3]; } return ways ; } public static void main(String[] args) { System.out.println(ThreeStair.waysToMoveUp(5)); } }
可以用三个变量存钱三个数。
public class ThreeStair { /** * 一个小孩上一个N级台阶的楼梯,他可以一次走1阶、2阶或3阶,那么走完N阶有多少种方式。 * */ public static int waysToMoveUp(int n) { if (n < 0) return -1; if (n < 3) { if(n == 0) { return 1; } return n; } int a = 1; int b = 1; int c = 2; for(int i=3; i<=n; ++i) { int t = a + b + c; a = b; b = c; c = t; } return c; } public static void main(String[] args) { System.out.println(ThreeStair.waysToMoveUp(5)); } }
相关文章推荐
- haproxy反向代理
- 在纪念中国人民抗日战争暨世界反法西斯战争胜利70周年大会上的讲话
- Linux进程查看与管理
- httpd反向代理
- 【算法设计与数据结构】二分法解决最大值最小化问题——入门篇
- Ubuntu安装完后设置root密码
- sql server 2012 报表开发(2) reporting service 中制作分组折叠式报表
- Java拾遗-异常
- mysql中间件研究(Atlas,cobar,TDDL) | 日志 | 果壳网 科技有意思
- OSX和IOS开发Shell命令整理
- NOIP2011 观光公交 题解(超详细)
- Windows Server 2012 如何部署trust domain?
- 素数筛选法
- Cassandra 备份 - 1 - 节点镜像恢复
- 【模板】c++ template模板实现string到Num的转换
- Linux 显示文本指定行内容
- bzoj1854
- [LeetCode 207] Course Schedule
- 1056. Mice and Rice (25)
- Linux战地日记——虚拟机及Linux的安装