剑指offer编程练习——跳台阶
来源:互联网 发布:新手如何装修淘宝店铺? 编辑:程序博客网 时间:2024/05/18 01:18
最近在练习一些编程题,也有想法慢慢开始自己的博客记录与分享学习的习惯,暂时先用CSDN博客开始吧~
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解释:其实这就是一道考察斐波那契数列(递归)题目,在初高中数学竞赛的简单题中也很常见。
public class Solution { public int JumpFloor(int target) { if (target>0) { if (target==1||target==2) return target; else return JumpFloor(target-1)+JumpFloor(target-2); } return 0; }}
class Solution {public: int jumpFloor(int number) { if(number<=0) return 0; else if (number==1) return 1; else if(number==2) return 2; else return jumpFloor(number-1)+jumpFloor(number-2); }};
但是递归方法效率较低;
我们可以考虑迭代方法直接计算,时间复杂度更低:
class Solution {public: int jumpFloor(int number) { if(number == 0) return 0; int f1 = 1, f2 = 2; for(int i = 1; i < number; i++){ f2 += f1; f1 = f2 - f1; } return f1; }};
还有很多其他方法,不多做探讨
1 0
- 剑指offer编程练习——跳台阶
- 剑指offer—跳台阶
- 【练习笔记】剑指offer-变态跳台阶
- 《剑指Offer——跳台阶》
- 《剑指offer》——跳台阶
- 《剑指offer》——变态跳台阶
- 剑指offer——跳台阶
- 剑指offer——变态跳台阶
- 剑指Offer—— 跳台阶
- 剑指offer——变态跳台阶
- 剑指offer——变态跳台阶
- 剑指offer——8.跳台阶
- 剑指Offer——跳台阶
- 剑指offer——跳台阶
- 剑指offer——跳台阶
- 剑指offer——跳台阶
- 剑指offer—变态跳台阶
- 《剑指offer》—8、跳台阶
- cron表达式详解【spring配置定时任务可使用】
- 生成学习算法Generative Learning algorithms
- SDUT3401数据结构实验之排序四:寻找大富翁
- Java IO StringReader和StringWriter
- 146 Git Bash 记住用户名密码
- 剑指offer编程练习——跳台阶
- 因WKWebview导致视图控制器释放不掉而内存崩溃的问题
- USB摄像头采集图像(DirectShow)
- Oracle向下递归查询
- 前端综合
- 51nod 1266 蚂蚁
- 【软件安装】Ubuntu14 .0.4 安装apktool,aapt工具
- 多线程小结和UDP套接口点点知识
- JAVA基础(29) Log4j 日志级别