php算法台阶,php如何解决青蛙跳台阶的问题(代码)
本篇文章给大家带来的内容是关于php如何解决青蛙跳台阶的问题(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
思路:
1.找规律 f(1)=1 f(2)=2 f(3)=3 f(4)=5 f(n)=f(n-1)+f(n-2)这是一个斐波那契数列
2.因为调到第n个台阶时,倒数第一个台阶可以一步跳过来,倒数第二个台阶也可以一步就跳过来
非递归版本:JumpFloor(target)
if target==1 || target==2 return target
jumpSum=0
jump1=1
jump2=2
for i=3;i
jumpSum=jump1+jump2
jump1=jump2
jump2=jumpSum
return jumpSumfunction jumpFloor($number)
{
if($number==1 || $number==2){
return $number;
}
$jumpSum=0;
$jump1=1;
$jump2=2;
for($i=3;$i<=$number;$i++){
$jumpSum=$jump1+$jump2;
$jump1=$jump2;
$jump2=$jumpSum;
}
return $jumpSum;
}
$res=jumpFloor(10);
var_dump($res);
php算法台阶,php如何解决青蛙跳台阶的问题(代码)相关推荐
- python青蛙跳台阶_Python算法题(一)——青蛙跳台阶
题目一(青蛙跳台阶): 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 分析: 假设只有一级台阶,则总共只有一种跳法: 假设有两级台阶,则总共有两种跳法: ...
- python比赛积分类算法题_Python算法题(一)——青蛙跳台阶
题目一(青蛙跳台阶): 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 分析: 假设只有一级台阶,则总共只有一种跳法: 假设有两级台阶,则总共有两种跳法: ...
- 青蛙跳台阶c语言递归函数,青蛙跳台阶问题的四种解法
http://raychase.iteye.com/blog/1337359 题目:一只青蛙一次可以跳1级台阶,也可以跳2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 这道题还被ITEye放在了博 ...
- 汉诺塔问题以及青蛙跳台阶问题(附C语言代码)
汉诺塔问题: 汉诺塔问题的源于印度一个古老传说的益智玩具.大焚天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照先大后小的顺序摞着64片圆盘.大焚天命令婆罗门把圆盘从下面按大小顺序重新摆放在 ...
- leetcode面试题46. 把数字翻译成字符串/典型的青蛙跳台阶题目(递归),动态规划
文章目录 题目 基本思想 题目 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 "l&q ...
- 由递推关系式用差分方程的方法得到通项公式实现求斐波那契数列的第n项;迭代、递归、栈、差分方程之间的本质联系以及由推广的迭代法解决“变态青蛙跳台阶”问题;汉诺塔问题的数字特征以及用递归解决的原理推导。
最近几天在研究算法中一个比较基础且突出的问题,就是关于"递推关系式.递归.迭代.序列前k项和"之间的区别与联系. 一.斐波那契数列与差分方程 首先我们考察一个经典的算法,求斐波那契 ...
- 面试算法-青蛙跳台阶问题(JAVA实现)
题干 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个 n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 数据范围:0<= n <=40 要求:时间复杂度:O(n) ...
- 笔试题:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。该题有三种解法:递归的方法求解斐波那契数列、用概率与统计的数学方法解决,3.动态规划
笔试题 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法.该题有三种解法:1.递归的方法求解斐波那契数列.2.用概率与统计的数学方法解决,3.动态规划 ...
- 青蛙跳石头java_Java青蛙跳台阶问题的解决思路与代码
问题描述 一只青蛙一次可以跳上1级台阶,也可以一次跳上2级台阶,请问跳上n级台阶,该请娃一共有多少种跳法? 解决思路 ①如果只有1级台阶,那显然只有一种跳法. ②如果有2级台阶,那么就有2种跳法,一种 ...
最新文章
- 自动驾驶中高效的激光雷达里程计
- How to use nheqminer in RedHat based systems (CentOS/Fedora)
- 基于上下文的访问控制——CBAC的配置
- vue的路由与es6的import, export
- 服务器控件的异步请求——UpdatePanel和ScriptManager
- pandas中drop用法_python进行数据清理之pandas中的drop用法
- debug工具_Jupyter官方神器:可视化 Debug 工具!
- java怎么获取ajax_Java学习路线
- python编程制作接金币游戏_一个简单的pygame接金币游戏
- java之GC日志该怎么看
- 坑了我一个小时的脚本执行
- Wordpress博客首页能打开 子页打不开解决办法
- 嵌入式linux寄存器位运算,嵌入式linux C语言(一)――位运算的使用
- 数字信号处理——频域采样定理matlab验证
- Jprofiler激活码
- vue、js onSelect事件 获取选中的值
- rk3399_9.0.1_mid 时区转换
- 正则匹配字符串最后一个逗号,不是逗号不匹配
- PR CC2019启动出现crash桌面文件
- 小程序之日历(状态版)