有n步台阶,一次只能上1步或2步,共有多少种走法
2023-03-31 11:03:41 时间
循环迭代:
1 public class steps { 2 public int js(int n) { 3 int one = 2; //初始化为第三级台阶最后跨一步的走法 4 int two = 1; //初始化为第三级台阶最后跨两步(一下迈过去两个台阶)的走法 5 int sum = 0; //总走法 6 for (int i = 3; i <= n; i++){ 7 sum=one+two; //当i=3时,sum为最后跨一步one:到2级台阶的走法 + 最后跨两步two:到1级台阶的走法 8 two=one; // 3级台阶最后跨一步的走法赋值给two,第4级台阶最后跨两步走法就是3级台阶最后跨一步的走法,即到2级台阶的走法 9 one=sum; // 将3级台阶的总走法赋值给one,第4级台阶最后跨一步的走法就是3级台阶的总走法 10 } 11 return sum; 12 } 13 public static void main(String[] args) { 14 steps a=new steps(); 15 System.out.println(a.js(10)); 16 } 17 }
第三个台阶,跨两步即(跨两个台阶)当n=1时, 一步当n=2时,(1)一步一步(2)直接两步(跨两台阶)到第2个台阶当n=3时,(1)跨一步:2 ->3先到2级台阶f(2),再一步到3级台阶(2)跨两步 :1->3先到1级台阶f(1),再跨两步到3级台阶
或者直接按照斐波那契数列;按照规律直接编写
1 2 3 5 8
1 public class steps { 2 public int js(int n) { 3 int one = 1; 4 int two = 2; 5 int sum = 0; 6 for (int i = 3; i <= n; i++){ 7 sum=one+two; 8 one=two; 9 two=sum; 10 } 11 return sum; 12 } 13 public static void main(String[] args) { 14 steps a=new steps(); 15 System.out.println(a.js(10)); 16 } 17 }
相关文章
- 深入探讨Java中的异常与错误处理
- 研究学习Kotlin的一些方法
- 数据显示Java热度持续下落,日子屈指可数?
- 2017年5月编程语言排行榜:Java与C语言优势正开始缩小
- Java多线程之内置锁与显示锁
- Java线程池的理论与实践
- 白话阿里巴巴Java开发手册(编程规约)
- 关于Java你不知道的十件事
- Java服务化系统线上应急和技术攻关,你必须掌握的Linux命令
- Java实现高斯模糊和图像的空间卷积
- Java阻塞队列实现原理分析
- NPM使用技巧
- Node.js对Java开发者而言是什么?
- Java反射机制应用实践
- 理解RxJava中的Single和Completable
- 2017年你不能错过的Java类库
- 大规模集群下的Hadoop NameNode
- 从源码解密Spark内存管理
- 2017年3月编程语言排行榜:Swift首次进入前十
- JVM热点技术:Java类的加载机制