剑指Offer-8-跳台阶 发表于 2020-03-04 | 分类于 剑指Offer | 评论数: | 热度: ℃ 本文字数: 3.1k | 阅读时长 ≈ 3 分钟 题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 Code1234567891011121314151617181920212223242526272829303132//递归版(与斐波那契数列思路类似)class Solution {public: // 思路:当前台阶的跳法总数=当前台阶后退一阶的台阶的跳法总数+当前台阶后退二阶的台阶的跳法总数 int jumpFloor(int number) { if(number==1) return 1; if(number==2) return 2; return jumpFloor(number-1)+jumpFloor(number-2); }};//非递归版class Solution {public: // 思路:当前台阶的跳法总数=当前台阶后退一阶的台阶的跳法总数+当前台阶后退二阶的台阶的跳法总数 int jumpFloor(int number) { if(number==1) return 1; if(number==2) return 2; int num=0,num1=1,num2=2; while(number>2){ num=num1+num2; num1=num2; num2=num; number--; } return num; }}; 相关文章推荐 剑指Offer-1-二维数组的查找 剑指Offer-11-二进制中1的个数 剑指Offer-12-数值的整数次方 剑指Offer-10-矩形覆盖 剑指Offer-13-调整数组顺序使奇数位于偶数前面 ----\(˙<>˙)/----赞赏一下吧~ 打赏 微信支付 支付宝 本文作者: wicherQAQ 本文链接: https://wicherqaq.github.io/2020/03/04/%E5%89%91%E6%8C%87Offer-8-%E8%B7%B3%E5%8F%B0%E9%98%B6/ 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!