摘要:无需动规,无需额外空间,等同于菲波那切数列。当然噜,也可以动规,记住就好。
Problem
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?
ExampleGiven an example n=3 , 1+1+1=2+1=1+2=3
return 3
Note无需动规,无需额外空间,等同于菲波那切数列。
当然噜,也可以动规,记住dp[0] = 1就好。
public class Solution { public int climbStairs(int n) { if (n < 2) return 1; int one = 1, two = 1, total = 0; for (int i = 2; i <= n; i++) { res = one + two; two = one; one = res; } return res; } }DP
public class Solution { public int climbStairs(int n) { int[] dp = new int[n+1]; dp[0] = 1; dp[1] = 1; for (int i = 2; i <= n; i++) dp[i] = dp[i-1] + dp[i-2]; return dp[n]; } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/65789.html
Problem A child is running up a staircase with n steps, and can hop either 1 step, 2 steps, or 3 steps at a time. Implement a method to count how many possible ways the child can run up the stairs. Ex...
摘要:递归法复杂度时间空间思路这题几乎就是求解斐波那契数列。最简单的方法就是递归。但重复计算时间复杂度高。代码递推法复杂度时间空间思路实际上我们求的时候只需要和的值,所以可以减少一些空间啊。 Climbing Stairs You are climbing a stair case. It takes n steps to reach to the top. Each time you c...
摘要:实质就是把之前出现过的中间结果记录,下次再出现相同情况的时候,通过可以只用的时间复杂度得到。表示到达第层楼梯的不同走法。那么题目中每次可以选择走一步,或者两步,。从迭代公式可以知道,有两个,和。 70. Climbing Stairs You are climbing a staircase. It takes n steps to reach to the top.Each tim...
746. Min Cost Climbing Stairs On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed). Once you pay the cost, you can either climb one or two steps. You need to find mini...
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 i...
阅读 1161·2023-04-26 02:38
阅读 1425·2021-11-22 09:34
阅读 1151·2021-09-26 10:19
阅读 3098·2019-08-29 17:15
阅读 3494·2019-08-29 12:27
阅读 1662·2019-08-26 13:51
阅读 1842·2019-08-26 13:47
阅读 993·2019-08-26 12:20