刷题笔记——跳台阶
又是一道见过的题,想不起来做法,所以决定开始做下笔记。
题目
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法
思路
台阶数为1,2,3时能很快算出跳法为1,2,3。之后只需要递归地将n阶分为两种情况来考虑,即最后一步是跳两级还是跳一级。比如现在算n=4,如果我最后一次跳两级,即前面的两个台阶的跳法和n=2时一样,如果我最后一次跳一级,即前面三个台阶的跳法和n=3时一样,所以n=4时有2+3=5种。这就成了斐波那契数列。
进阶版本
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
思路
所有台阶中,只有最后一个台阶是必踩的,中间n-1个可踩可不踩,所以跳法为2^(n-1)。