70. Climbing Stairs
2016-12-26 14:16
246 查看
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?
思路:
直接用递归超时了,所以之后用了斐波那契数列。
超时:
public static int climbStairs(int n) {
if (n <= 3) {
return n;
}
return calculate(n);
}
private static int calculate(int n) {
if (n < 0) {
return 0;
}
if (n == 0) {
return 1;
}
return calculate(n - 1) + calculate(n - 2);
}
斐波那契:
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
思路:
直接用递归超时了,所以之后用了斐波那契数列。
超时:
public static int climbStairs(int n) {
if (n <= 3) {
return n;
}
return calculate(n);
}
private static int calculate(int n) {
if (n < 0) {
return 0;
}
if (n == 0) {
return 1;
}
return calculate(n - 1) + calculate(n - 2);
}
斐波那契:
public class Solution { public int climbStairs(int n) { if (n <= 3) { return n; } int x = 1, y = 1; while (n > 0) { y += x; x = y - x; n--; } return x; } }
相关文章推荐
- 70. Climbing Stairs
- 70. Climbing Stairs
- 70. Climbing Stairs
- [LeetCode]problem 70. Climbing Stairs
- 70. Climbing Stairs
- LeetCode 70. Climbing Stairs
- 70. Climbing Stairs
- Leet Code OJ 70. Climbing Stairs(爬楼梯问题)
- leetcodeOJ 70. Climbing Stairs
- 70. Climbing Stairs
- leetcode 70. Climbing Stairs
- 70. Climbing Stairs
- 70. Climbing Stairs
- leetcode 70. Climbing Stairs
- 70. Climbing Stairs
- LeetCode 70. Climbing Stairs
- LeetCode 70. Climbing Stairs
- 70. Climbing Stairs
- 70. Climbing Stairs#1(Done)
- LeetCode - 70. Climbing Stairs