码迷,mamicode.com
首页 > 其他好文 > 详细

变态跳台阶

时间:2020-05-09 21:18:07      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:思路   for   highlight   odi   number   self   utf-8   现在   hellip   

一只青蛙一次可以跳上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

变态跳台阶

标签:思路   for   highlight   odi   number   self   utf-8   现在   hellip   

原文地址:https://www.cnblogs.com/cong3Z/p/12859822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!