当前位置: 首页 > news >正文

爬楼梯Java(斐波那契数列)

题目:有n阶楼梯,一次只能爬一层或者两层,请问有多少种方法?

这类题目其实都可以用斐波那契数列来解决,比如:

一阶楼梯只有一种方法

二阶楼梯有(1+1,2)两种方法

三阶楼梯有(1+1+1,1+2,2+1)三种方法

四阶楼梯有(1+1+1+1,1+2+1,1+1+2,2+2,2+1+1)五种方式

五阶楼梯有(1+1+1+1+1,1+1+1+2,1+2+2,1+2+1+1,1+1+2+1,2+1+1+1,2+2+1,2+1+2)八种方法,可以看出n阶楼梯是由(n-1) + (n-2)构成的,基数1阶为1,2阶为2.

以下是代码的实现方式:

    //斐波那契数列 迭代方式实现,时间复杂度低private static int calculate(int n) {if (n==1 || n==2) {return n;}int first = 1, second = 2, sum = 0;for (int i = 3; i <= n; i++) {sum = first + second;first = second;second = sum;}return sum;}//递归方式  时间复杂度高(n*2)private static int calculate1(int n) {if (n==1 || n==2) {return n;}return calculate1(n - 1) + calculate1(n - 2);}

斐波那契数列结果为:89
斐波那契数列结果为:89

http://www.lryc.cn/news/176349.html

相关文章:

  • Maven项目package为jar包后在window运行报A JNI error has occurred
  • iview 的table表格组件使单元格可编辑和输入
  • 统计的基本概念及抽样分布
  • 【C++】class的设计与使用(四)this指针
  • mysql 导入sql文件
  • springcloud:三、ribbon负载均衡原理+调整策略+饥饿加载
  • 【Unity编辑器扩展】Tranform组件自定义扩展,复制位置旋转缩放数据
  • 自动驾驶领域中的CMS系统应用探讨
  • 十分钟理解OSPF路由协议
  • Python 编程基础 | 第一章-预备知识 | 1.4、包管理工具
  • delphi中使用CADVCL 10.0 Enterprise控件解析DXF文件生成图片保存到本地
  • Hazelcast系列(三):hazelcast管理中心
  • QT 绘画功能的时钟
  • 设计模式之道-模板方法模式
  • 头哥的实践平台的Linux文件/目录管理
  • 软件测试基本常识
  • Xmake v2.8.3 发布,改进 Wasm 并支持 Xmake 源码调试
  • Serverless 数仓技术与挑战(内含 PPT 下载)
  • 九牧小牧携手国家队!一场“中国卫浴“和“中国体育”的双向奔赴
  • crypto:Quoted-printable
  • 【六级】作文模板-议论文-问题解决
  • leetcodetop100 (22) 反转链表
  • RabbitMQ配置文件_修改RabbitMQ MQTT的1883端口
  • 【Graph Net学习】LINE实现Graph Embedding
  • docker安装使用xdebug
  • (1) ESP32获取图像,并通过电脑端服务器显示图像
  • 乐鑫科技全球首批支持蓝牙 Mesh Protocol 1.1 协议
  • 1.算法——数据结构学习
  • 信息论基础第二章阅读笔记
  • Content-Type的取值