[LeetCode]70. Climbing Stairsjava

    xiaoxiao2021-03-25  125

    /**70. Climbing Stairs * @param n * @return */ public int climbStairs(int n) { int a = 0; int b = 1; int sum = 0; for(int i = 1; i <= n; i++){ sum = a + b; a = b; b = sum; } return sum; }

    //循环

    public int climbStairs1(int n) { if(n <= 2){ return n; }else { int[] step = new int[n]; step[0] = 1; step[1] = 2; for(int i = 2; i < n; i++) { step[i] = step[i-1] + step[i-2]; } return step[n-1]; } }

    //数组

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

    //递归,超时了,n=44

    转载请注明原文地址: https://ju.6miu.com/read-9840.html

    最新回复(0)