/*
动态规划,d[n] = min(d[i-1]+cost[i-1],d[i-2]+cost[i-2]);
*/
int min(int a, int b){
if(a>b) return b;
else return a;
}
int minCostClimbingStairs(int* cost, int costLen ) {
if(costLen==1) return cost[0];
int dp[costLen+1];
dp[0] = 0;
dp[1] = 0;
for(int i = 2; i < costLen+1; i++){
dp[i] = min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
}
return dp[costLen];
}

京公网安备 11010502036488号