[leetcode]70. Climbing Stairs(Java)
来源:互联网 发布:蓝月亮 荧光剂 知乎 编辑:程序博客网 时间:2024/05/18 00:09
https://leetcode.com/problems/climbing-stairs/#/description
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Note: Given n will be a positive integer.
package go.jacob.day707;public class Demo3 {/* * 空间复杂度O(1); */public int climbStairs(int n) {if (n < 3)return n;int one_step_before = 2;int two_steps_before = 1;int all_ways = 0;for (int i = 2; i < n; i++) {all_ways = one_step_before + two_steps_before;two_steps_before = one_step_before;one_step_before = all_ways;}return all_ways;}/* * 空间复杂度O(n); */public int climbStairs_2(int n) {if (n < 3)return n;int[] res = new int[n + 1];res[1] = 1;res[2] = 2;for (int i = 3; i <= n; i++) {res[i] = res[i - 1] + res[i - 2];}return res[n];}/* * 方法一:递归 时间复杂度高 */public int climbStairs_1(int n) {if (n < 1)return 0;if (n == 1)return 1;if (n == 2)return 2;return climbStairs_1(n - 1) + climbStairs_1(n - 2);}}
阅读全文
0 0
- Leetcode:70. Climbing Stairs(JAVA)
- leetcode-Java-70. Climbing Stairs
- (Java)LeetCode-70. Climbing Stairs
- [LeetCode] 70. Climbing Stairs java
- [leetcode]70. Climbing Stairs(Java)
- LeetCode-70. Climbing Stairs (Java)
- [Leetcode] Climbing Stairs (Java)
- 【Leetcode】Climbing Stairs JAVA
- [LeetCode][Java] Climbing Stairs
- leetcode:Climbing Stairs 【Java】
- LeetCode Climbing Stairs JAVA
- [LeetCode]Climbing Stairs(Java)
- [LeetCode]70.Climbing Stairs
- LeetCode --- 70. Climbing Stairs
- [Leetcode] 70. Climbing Stairs
- [leetcode] 70.Climbing Stairs
- [leetCode]70. Climbing Stairs
- 70. Climbing Stairs LeetCode
- java内存模型
- HBase - 建表语句解析
- SAP批次管理-内容概览
- cmd命令启动关闭Oracle数据库服务
- BASE64的编码URL传输问题,附十六进制编码字符。
- [leetcode]70. Climbing Stairs(Java)
- java string stringbuilder stringbuffer
- 技术主管一直做微服务 程序员不干了
- ROS机器人操作系统的安装、配置与初级教程 5
- LightOJ1125
- Android获取屏幕宽度的4种方法
- python2/python3数据加密
- android studio 没有错误、警告提示怎么办
- Spark