变态跳台阶
Posted cong3z
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了变态跳台阶相关的知识,希望对你有一定的参考价值。
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
思路:n=1,f=1
n=2,f=2(1;2)
n=3,f=4(111;12;21;3)
n=4,f=5(11111,121,112,211,4,13,31)
由规律可知n=k(k>1)时,要k*2次
也可以倒过来跳,n个台阶,现在跳一个,剩下要f(n-1)+f(n-2)+.....1
现在我们再跳一个,现在在n-1格,那么还需要f(n-2)+....+1
合起来就是f(n)=2f(n-1) n>1
# -*- coding:utf-8 -*- class Solution: def jumpFloorII(self, number): # write code here if number<1: return 0 if number==1: return 1 a=1 for i in range(2,number+1): b=a*2 a=b return b
以上是关于变态跳台阶的主要内容,如果未能解决你的问题,请参考以下文章