当前位置: 首页 > 后端技术 > Python

青蛙跳楼梯Golang和Python的最简单解法

时间:2023-03-26 13:00:14 Python

是《剑指offer》中的一道经典题。最近在群里聊了这个问题,特来复习一下。问题一只青蛙一次可以跳1步或2步。求青蛙跳上n级台阶的跳跃方法总数。先跳到n级步骤的思路可以分解为两种情况:在跳到n-1步之前,再跳到n级;跳到前n-2步,再跳到第n层;因此,n级跳转次数等于两种情况之和。即F(n)=F(n-1)+F(n-2)同理可以继续推导:F(n-1)=F(n-2)+F(n-3)F(n-2)=F(n-3)+F(n-4)...F(2)=F(1)+F(0)F(1)=1F(0)=1所以这个是FibonacciDeed数列,从数列的第三个数开始,每个数都是前两个数的和。然后只需从F(0)+F(1)=F(2)开始,将F(n)相加即可得到结果。Golang版本funcJumpFloor(nint)int{a,b:=1,1for;n>0;n--{a,b=b,a+b}returna}Python版本defjump_floor(n):a,b=1,1for_inrange(n):a,b=b,a+breturnA