class Solution { public: /** * * * * @param cost int整型vector * @return int整型 */ int minCostClimbingStairs(vector<int>& cost) { // write code here int n = cost.size(); if (n == 1) { return cost[0];} vector<int> dp(n+1, 0); dp[0] = 0; dp[1] = 0; // 注意审题,cost 下标从【0】开始的、顶层是【n】层不是n-1. for (int i = 0; i <= n; ++i) { // dp[i] = min(dp[i-1]+cost[i-1], dp[i-2]+cost[i-2]); } // [2,5,20] //0 2 5 // [1,100,1,1,1,90,1,1,80,1] // 6 return dp[n]; } };