classSolution:deffib(self, n:int)->int:if n <2:return n
p, q, r =0,0,1for i inrange(2, n +1):
p, q = q, r
r = p + q
return r
2. 第 N 个泰波那契数
classSolution:deftribonacci(self, n:int)->int:if n ==0:return0if n <=2:return1
p =0
q = r =1for i inrange(3, n +1):
s = p + q + r
p, q, r = q, r, s
return s
3.爬楼梯
classSolution:defclimbStairs(self, n:int)->int:
dp =[0]*3for i inrange(3):
dp[i]= i
for i inrange(n-2):
dp[0]= dp[1]
dp[1]= dp[2]
dp[2]= dp[0]+ dp[1]return dp[n]if n<=2else dp[2]
4.使用最小花费爬楼梯
classSolution:defminCostClimbingStairs(self, cost: List[int])->int:
n =len(cost)
dp =[0]*(n +1)for i inrange(2, n +1):
dp[i]=min(dp[i -1]+ cost[i -1], dp[i -2]+ cost[i -2])return dp[n]
n =int(input(''))
arr =[]for i inrange(n):
arr.append([])for j inrange(i+1):if j ==0or i == j:
arr[i].append(1)else:
arr[i].append(arr[i-1][j-1]+ arr[i-1][j])print(" ".join(str(a)for a in arr[i]))
1.斐波那契数列class Solution: def fib(self, n: int) -> int: if n < 2: return n p, q, r = 0, 0, 1 for i in range(2, n + 1): p, q = q, r r = p + q return r2. 第 N 个泰波那契数class Solutio