变态跳台阶
来源:互联网 发布:Sql中not in的效率 编辑:程序博客网 时间:2024/04/30 02:35
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
题目解析:
首先不得不强调,这只青蛙很变态,居然可以想跳多少跳多少,其次我们同样可以将青蛙跳n级台阶的情况视为Fn,当青蛙选择第一次跳1级的时候就剩下n-1级的跳法,以此类推,Fn = Fn-1 + Fn-2 + ... + F2 + F1。
解法如下:
/** * 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。 * 求该青蛙跳上一个n级的台阶总共有多少种跳法。 * 对斐波那契数列求和 * 不难得到Fn = 2 ^ (n - 1) * @param target */ public int JumpFloorII(int target) { int n = 4; int n_1 = 2; int sum = 1; if (target <= 0){ return 0; }else if (target <= 2){ return target; }else { for (int i = 3; i <= target; i++) { n = n_1 + sum + 1; sum += n_1; n_1 = n; } return n; } }
0 0
- 跳台阶 && 变态跳台阶
- 变态跳台阶
- 变态跳台阶
- 变态跳台阶
- 变态跳台阶
- 牛客网 | 变态跳台阶
- 变态跳台阶
- 变态跳台阶
- 变态跳台阶
- 变态跳台阶
- 变态跳台阶
- 变态跳台阶
- 变态跳台阶
- 变态跳台阶问题
- 青蛙变态跳台阶
- 变态版跳台阶
- 变态跳台阶
- 变态跳台阶
- 扫码枪 android EditText
- 文件工具类
- [基础] -- static用法探究
- 蓝桥杯 算法训练 P1103
- linux-shell命令之mv(move)【移动或者改名】
- 变态跳台阶
- 利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境
- leveldb实例
- python 中的None
- Codeforces Round #257 (Div. 1) A - Jzzhu and Chocolate 2017/1/11
- Android6.0 如何添加更改系统设置权限
- 树状数组逆序对
- Maven精华文章收录
- Three.JS学习 5:了解相机