Leetcode 简单三十四 746.使用最小花费爬楼梯

使用最小花费爬楼梯:

动态规划:

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);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_36688622/article/details/90703287