Leetcode - 746. Subir escaleras con coste mínimo

enlace de tema

 Se le da un costo de matriz de enteros, donde costo[i] es el costo de subir el i-ésimo escalón de las escaleras. Una vez que pague esta tarifa, puede optar por subir un tramo de escaleras o dos.

 Puede elegir comenzar a subir las escaleras desde el escalón con el subíndice 0 o el subíndice 1.

 Calcule y devuelva el costo mínimo para llegar a la parte superior de las escaleras.

Ejemplo 1

Entrada: costo = [10,15,20]
Salida: 15
Explicación: Comenzará desde el paso con el índice 1.
Paga 15 y sube dos escalones hasta la parte superior de las escaleras.
El costo total es de 15.

Ejemplo 2

Entrada: costo = [1,100,1,1,1,100,1,1,100,1]
Salida: 6
Explicación: Comenzará desde el paso con el índice 0.
Paga 1 y sube dos escalones para llegar al escalón con subíndice 2.
Paga 1 y sube dos escalones hasta el escalón marcado como 4.
Paga 1 y sube dos escalones para llegar al escalón con subíndice 6.
Paga 1 y sube un escalón para llegar al escalón con subíndice 7.
Paga 1 y sube dos escalones para llegar al escalón con subíndice 9.
Paga 1, sube un escalón para llegar a la parte superior de las escaleras.
El costo total es de 6.

desatar:

método uno

Aquí está la cita

class Solution {
    
    
public:
    int minCostClimbingStairs(vector<int>& cost) {
    
    
    	//创建dp数组
        vector<int> dp(cost.size()+1);
		//初始化
        dp[0]=dp[1]=0;
		//填表
        for(size_t i=2;i<=cost.size();i++)
        {
    
    
            dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
        }
        //返回值
        return dp[cost.size()];
    }
};

Método dos

Aquí está la cita

class Solution {
    
    
public:
    int minCostClimbingStairs(vector<int>& cost) {
    
    
        int len=cost.size();
        //创建dp数组
        vector<int> dp(len);
        //初始化
        dp[len-1]=cost[len-1];
        dp[len-2]=cost[len-2];
        //数组赋值
        for(int i=len-3;i>=0;i--)
        {
    
    
            dp[i]= min(dp[i+1]+cost[i],dp[i+2]+cost[i]);
        }
        //返回值
        return min(dp[0],dp[1]);
    }
};

Supongo que te gusta

Origin blog.csdn.net/Tianzhenchuan/article/details/131706426
Recomendado
Clasificación