1. 程式人生 > 其它 >2021.12.11 互測

2021.12.11 互測

陣列的每個下標作為一個階梯,第 i 個階梯對應著一個非負數的體力花費值cost[i](下標從 0 開始)。

每當你爬上一個階梯你都要花費對應的體力值,一旦支付了相應的體力值,你就可以選擇向上爬一個階梯或者爬兩個階梯。

請你找出達到樓層頂部的最低花費。在開始時,你可以選擇從下標為 0 或 1 的元素作為初始階梯。

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/min-cost-climbing-stairs
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

class Solution {
    public int minCostClimbingStairs(int[] cost) {
        if (cost == null || cost.length == 0) {
            return 0;
        }

        int dp1 = 0, dp2 = 0;

        for (int c : cost) {
            int dp = Math.min(dp1, dp2) + c;
            dp2 = dp1;
            dp1 = dp;

        }

        return Math.min(dp1, dp2);
    }
}
心之所向,素履以往 生如逆旅,一葦以航