`
zhang_xzhi_xjtu
  • 浏览: 536603 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[leetcode] ClimbingStairs

阅读更多
/**
* <pre>
* 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?
* </pre>
*/
public class ClimbingStairs {

    //Time Limit Exceeded
    public class Solution {

        public int climbStairs(int n) {
            if (n < 0)
                return 0;
            if (n == 1)
                return 1;
            if (n == 2)
                return 2;
            return climbStairs(n - 1) + climbStairs(n - 2);
        }
    }

    public class Solution2 {
        public int climbStairs(int n) {
            if (n < 0)
                return 0;
            if (n == 1)
                return 1;
            if (n == 2)
                return 2;
            int a = 1;
            int b = 2;
            int c = 0;
            for (int i = 0; i < n - 2; i++) {
                c = a + b;
                a = b;
                b = c;
            }
            return c;
        }
    }
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics