题解 | #跳台阶#
题目:https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param number int整型
# @return int整型
#
class Solution:
def jumpFloor(self , number: int) -> int:
# 当走到第n级的时候,由于一次可以跳1级和2级,所以跳上最后一阶只能是f(n-1)+1 或者f(n-2)+2 两种情况。
#所以第n级的跳法其实就是走到第n-1级的跳法与走到第n-2级的跳法之和
#因此递推公式就是f(n)=f(n-1)+f(n-2),和斐波那契数列类似了
#f(1)=1,f(2)=2
if number<=2:
return number
else:
a=1
b=2
for i in range(number-2):
cusum=a+b#直接求和
a=b#更新a
b=cusum#更新b
return cusum