梦结束的地方 — 爬楼梯
力扣70 : 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例如下:
何解?
最后要爬上楼顶,无非两种上法,最后一步迈一节楼梯,或者迈两节楼梯,那么分别用这两种情况相加就好了呗,所以定义一个方法:输入总共的楼梯数,返回最后的的组合方式
1、很普通的递归下
这里可以看出,他瞧不起我们,艸,干他!!
2、 不平凡的递归
明显第一种过于普通,导致时间超时了,解决时间问题,昨天提过,用空间换取时间,我们现在是退着下楼梯,一次退两步比一次退一步要快,那么可以优先知道退到某些楼梯时的次数,把它存起来,等再退到这里时可以直接获取,聪明如我!
轻松拿捏!
3、就必须得退着走?偏不
莫非,你是哪位大人!?