70. Climbing Stairs

来源:互联网 发布:无网络摄像头安装方法 编辑:程序博客网 时间:2024/06/06 17:35

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.

java

class Solution {    public int climbStairs(int n) {        if (n == 0) {            return 0;        }        if (n == 1) {            return 1;        }        if (n == 2) {            return 2;        }        int[] f = new int[n];        f[0] = 1;        f[1] = 2;        for (int i = 2; i < n; i++) {            f[i] = f[i - 1] + f[i - 2];        }        return f[n - 1];    }}
python

class Solution:    """    @param n: An integer    @return: An integer    """    def climbStairs(self, n):        # write your code here        if n == 0:            return 0        if n == 1:            return 1        if n == 2:            return 2        res = [1, 2]        for i in range(2, n):            res.append(res[i - 1] + res[i - 2])        return res[len(res) - 1]        


原创粉丝点击