题解 | 最小花费爬楼梯
#如果到第i个台阶,我们可以从第i-1个台阶跳一步上来,也可以从第i-2个台阶跳两步上来。哪个花费少我们就选择从哪个跳上来。我们定义dp[i]表示到第i个台阶需要的最小花费, import math n=int(input()) nums=list(map(int,input().split())) if n==1: print(0) elif n==2: print(nums[0]) else: dp=[0]*(n+1) dp[0]=0 dp[1]=0 for i in range(2,n+1): dp[i]=min(dp[i-1]+nums[i-1],dp[i-2]+nums[i-2]) print(dp[n])