Вам задана стоимость массива целых чисел, где стоимость[i] — стоимость i-й ступени лестницы. Как только вы заплатите стоимость, вы можете подняться на одну или две ступеньки.

Вы можете начать либо с шага с индексом 0, либо с шага с индексом 1.

Верните минимальную стоимость, чтобы достичь вершины этажа.


class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        int n = cost.size();
        vector<int> dp(n + 1); 
        for (int i = 2; i <= n; i++) {
            int jumpOneStep = dp[i - 1] + cost[i - 1];  
            int jumpTwoStep = dp[i - 2] + cost[i - 2];  
            dp[i] = min(jumpOneStep, jumpTwoStep);
        }
        return dp[n];
    }
};

Войти в полноэкранный режим

Выйти из полноэкранного режима