爬楼梯,从右往左看,f(n) 表示从低 n 节开始时消耗的最少体力。
- f(n) = 0,因为爬完了
- f(n-1) = cost[n],因为只能爬一节
- f(n-2) = min(cost[n], cost[n-1]),因为可以爬一节/两节,可以选任意一个 cost
- f(n) = cost[n] + min(f(n+1), f(n+2)),因为这节首先是要爬的,然后考虑爬一节还是爬两节,选 cost 最少的
节省内存的话用三个变量就行,之后可以写一下。
爬楼梯,从右往左看,f(n) 表示从低 n 节开始时消耗的最少体力。
节省内存的话用三个变量就行,之后可以写一下。