蹬N级阶梯有几种走法
今天蹲大的时候,想着这道题,逆向想通了,记下来。
题目:
有N级阶梯,往上走的时候,有两种走法:走1级或走2级。问,蹬上N级阶梯,总共有多少总解法。
正向想很容易陷进去前面走的是否有重复、交叉一类的思维陷阱中。逆向就好想了:
我们先假设:N级阶梯总共有k(n)中解法。
人在走最后一步的时候,只有两种解法:走一步或走两步。所以,k(n)就和k(n-1)和k(n-2)有关。即:
k(n) = :
1. k(n-1)后,再往上走一步。由于此时只有“走一步”这一种解法,所以仍然是k(n-1)种解法;
2.k(n-2)后,再往上走两步。同上,此时只有“走两步”这一种解法(如果:往上连续走两个一步,那最后一步就是2步而不是1步了,就该归到k(n-1)中了),所以,此时还是k(n-2)种解法;
因此,可以得到递推公式:
k(n) = k(n-1) + k(n-2)
其中,k(1) = 1, k(2) = 2.
这个数列是啥?就是斐波那契数列。
蹬N级阶梯有几种走法相关推荐
- 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?请编程实现。
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?请编程实现. 输入: 输入一个整数M(1<=M<=20),表示楼梯的级数. 输出: 输出不同走法 ...
- 题目3:一段楼梯共n级台阶,规定每一步只能跨一级或两级或三级。要等上第n级台阶共有几种走法?
题目3:一段楼梯共n级台阶,规定每一步只能跨一级或两级或三级.要等上第n级台阶共有几种走法? 斐波那契数列问题:递归或动态规划均可解此类问题.跳台阶是典型应用之一. 思路:我们先从最后开始考虑,因为规 ...
- 超级楼梯——有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法?
有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法? 现在给你一个正整数n(0<n<40),请你输出不同的走法数. 如n=2,则输出1(你只有一种走 ...
- N级台阶,一次上1级或2级或3级或M级,总共有多少种走法
思路 先分析最简单的,也就是每次要不上1级,要么上2级. 这个问题需要反过来思考才能比较容易的找到规律.总共有N级台阶,因为每次要么上1级要么上2级,因此对于第N级台阶来说,它的前一步要么是在N-1级 ...
- 字节算法题--N阶台阶,每次走一步或两步,计算共有多少种走法,并将每种走法打印出来。
N阶台阶,每次走一步或两步,计算共有多少种走法,打印出每种走法. 一 走台阶算法(本质上是斐波那契数列)在面试中常会遇到,描述就如题目那样:总共100级台阶(任意级都行),小明每次可选择走1步.2步或 ...
- n级阶梯,人一步只能上1~2级,求一共有几种走法?
B站上有这样一道题: 大厂算法很难!力扣经典算法解析,小白也能懂!_哔哩哔哩_bilibili数据结构和算法可以让程序员脱胎换骨,刷算法题可以帮助我们通过面试和笔试,找到梦寐以求的工作,进入一线大厂或 ...
- N级台阶(比如100级),每次可走1步,2步,3步,求总共有多少种走法?
算法题:N级台阶(比如100级),每次可走1步,2步,3步,求总共有多少种走法? 平常不怎么研究算法,直到一次面试后,面试官给我了一个算法题,因为平常没有去看过类似的东西,所以就做错了 根据上面的题目 ...
- Python超级详细的上台阶楼梯问题,算法运行速度极快,内含计算排列的方法。问题:有n级台阶,每步可以走一级或两级,问有多少种不同的走法。k为传入的参数,默认值为3
看到此题,我们要回忆一下高中数学的排列组合问题 一.先从一个例子分析一下这个题目('1'是每次上一级台阶,'2'是每次上两级提台阶) 假如有5级台阶,则有(1,1,1,1,1).(1,1,1,2).( ...
- 冬冬爬楼梯,一步可以1级,也可以爬2级、3级。冬冬很可爱,每到一处楼梯处,他都想知道直完这个楼梯有多少种走法。但由于有的时候楼梯级数太多,可能是个天文数字,很显然,对于还处于小学5年级的冬冬是不太现实
冬冬爬楼梯,一步可以1级,也可以爬2级.3级.冬冬很可爱,每到一处楼梯处,他都想知道直完这个楼梯有多少种走法.但由于有的时候楼梯级数太多,可能是个天文数字,很显然,对于还处于小学5年级的冬冬是不太现实 ...
最新文章
- SCRFD is not in the models registry
- python 科学计算基础教程电子版-Python 科学计算基础 (整理)
- hdu 5542(树状数组优化dp)
- erlang精要(18)-以函数作为参数的函数,返回函数的函数(1)
- IE haslayout的理解与bug修复
- 朱明亮:参与开源软件让业余时间更有意义
- QQ无法安装,不用着急,用毒霸2011来解决
- promise的状态以及api介绍_前端 api 请求缓存
- junit 测试目录_JUnit 5测试中的临时目录
- 卡尔曼滤波算法及C语言实现(转载)
- 30分钟彻底弄懂flex布局
- BZOJ 1619 [Usaco2008 Nov]Guarding the Farm 保卫牧场:dfs【灌水】
- [Luogu 1197] JSOI2008 星球大战
- EPIVAN | 基于预训练和注意力机制的启动子增强子相互作用预测
- Ubuntu 18.04 ——— ROVIO运行与EVO的评测与使用
- 哈尔滨计算机职业学校赵梓琦,哈尔滨赛区复选晋级名单
- Druid连接池耗尽问题排查总结
- 猿创征文|项目中使用Git,解决一些项目开发中常见的Git问题
- Vue 路由参数传递
- 使用Oh-My-Posh美化FluentTerminal
热门文章
- JavaScript响应键盘不再用KeyboardEvent.keyCode,而是用keyboardEvent.code
- github入门必备概念
- SNMP功能开发简介 一 net-snmp编译与安装
- 小而美的个人博客——前端——tags
- 电脑越来越慢怎么办_电脑维修|你的电脑肯定遇到过这些故障
- mysql 浏览器可视窗口_浏览器窗口的可视区域大小指的是哪里?
- nginx 官方手册 php,nginx + php 的配置
- 公务员要过英语六级吗计算机,报考2020年国家公务员考试,必须要过英语四六级吗?...
- 判断字符串_python实现--判断回文字符串、回文链表、回文数
- oracle是堆屎山,Oracle NUMBER 类型细讲