int min(int a,int b){
if (a<b){
return a;
}else{
return b;
}
}
int minCostClimbingStairs(int* cost, int costSize) {
int *dp = (int *)malloc((costSize + 1) * sizeof(int)); // 为 dp 数组分配内存
dp[0] = 0; // 初始化 dp[0]
dp[1] = 0; // 初始化 dp[1]
for (int i = 2; i <= costSize; ++i) {
dp[i] = min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]); // 计算 dp[i] 的值
}
int result = dp[costSize]; // 存储最终结果
free(dp); // 释放 dp 数组的内存
return result;
}
力扣746
最新推荐文章于 2025-06-04 22:19:50 发布