剑指08-10
08 跳台阶
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
思路:
本题为斐波那契数列的变形,思路参考上题
1 | class Solution { |
09 变态跳台阶
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
思路:
跳上n级台阶,等于跳上n-1台阶方法的和+1
f(n)=f(n-1)+f(n-2)+f(n-3)……+f(1)+1
f(n-1)=f(n-2)+f(n-3)……+f(1)+1
可推导出
f(n)=f(n-1)*2
1 | class Solution { |
10 矩形覆盖
题目描述
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
比如n=3时,2*3的矩形块有3种覆盖方法:
思路:
依旧是斐波那契数列的一个变型
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 fgrain的博客!