使用最小花費爬樓梯:
動態規劃:
php,24ms。
狀態轉移方程:
$dp[$i] = min($dp[$i-1]+$cost[$i-1],$dp[$i-2]+$cost[$i-2]);
題目奇葩,不做贅述。注意的一點是,dp數組要比cost長一位。
class Solution {
/**
* @param Integer[] $cost
* @return Integer
*/
function minCostClimbingStairs($cost) {
$dp = [];
$dp[0] = 0;
$dp[1] = 0;
for($i = 2;$i < count($cost)+1;$i++){
$dp[$i] = min($dp[$i-1]+$cost[$i-1],$dp[$i-2]+$cost[$i-2]);
}
return end($dp);
}
}