int minCostClimbingStairs(int* cost, int costSize){
if(costSize==2){
return cost[0]>cost[1]?cost[1]:cost[0];
}
int dp[costSize+1][2];
dp[0][0]=cost[0];
dp[1][0]=cost[1]+cost[0];
for(int a=2;a<costSize+1;a++){
if(a==costSize){
dp[a][0]=dp[a-2][0]<dp[a-1][0]?dp[a-2][0]:dp[a-1][0];
}
else{
dp[a][0]=cost[a]+(dp[a-2][0]<dp[a-1][0]?dp[a-2][0]:dp[a-1][0]);
}
}
dp[1][1]=cost[1];
dp[2][1]=cost[2]+cost[1];
for(int a=3;a<costSize+1;a++){
if(a==costSize){
dp[a][1]=dp[a-2][1]<dp[a-1][1]?dp[a-2][1]:dp[a-1][1];
}
else{
dp[a][1]=cost[a]+(dp[a-2][1]<dp[a-1][1]?dp[a-2][1]:dp[a-1][1]);
}
}
return dp[costSize][0]<dp[costSize][1]?dp[costSize][0]:dp[costSize][1];
}
力扣------使用最小花费爬楼梯
于 2022-08-08 10:15:46 首次发布