青蛙一次可以走1,2,3个阶梯,那如果有n个阶梯有多少种走法?
思路:
f(n)=f(n-1)+f(n-2)+f(n-3)
class Solution:
def waysToStep(self, n: int) -> int:
if n < 3:
return n
first, second, third = 1, 2, 4
temp = 0
while n > 3:
temp = third
third = (first + second + third)%1000000007
first, second = second, temp
n -= 1
return third