Lc70_爬楼梯

package com.example.demo;

public class Lc70 {
    //经典递归问题
    /*
    一般解法为递归和非递归
    这里说一下非递归
     */
    public static int climbStairs(int n) {
        //这里单独设置返回是防止数组越界
        if(n==1){
            return 1;
        }
        int[] res = new int[n];
        res[0]= 1;
        res[1] = 2;
        //每一次到达当前楼梯的方法 等于之前到达所有楼梯的总和这个推导一下前3阶就可以推导出这个规律
        for (int i = 2;i<n;i++){
            res[i]= res[i-1]+res[i-2];
        }
        return res[n-1];
    }

    public static void main(String[] args) {
        int n = 3;
        System.out.println(climbStairs(n));
    }
}

 

posted @ 2020-05-09 09:20  小傻孩丶儿  阅读(111)  评论(0编辑  收藏  举报