题解 | #最小花费爬楼梯#

最小花费爬楼梯

https://www.nowcoder.com/practice/6fe0302a058a4e4a834ee44af88435c7

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        //dp[i]表示爬到第i阶楼梯需要的最小花费
        vector<int> dp(cost.size() + 1, 0); 
        for(int i = 2; i <= cost.size(); i++)
            //每次选取最小的方案
            dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]); 
        return dp[cost.size()];
    }
};


// #include <cmath>
// class Solution {
// public:
//     /**
//      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
//      *
//      *
//      * @param cost int整型vector
//      * @return int整型
//      */
//     int ans=INT_MAX;

//     void dfs(vector<int>& cost, int n, int index, int sum)
//     {
        
//         if(index==n)
//         {
//             ans = min(ans,sum);
//             return;
//         }

//         sum += cost[index];

//         if(index+1<=n)
//             dfs(cost, n, index+1, sum);

//         if(index+2<=n)
//             dfs(cost, n, index+2, sum);
//     }

//     int minCostClimbingStairs(vector<int>& cost) {
//         // write code here
//         // 深度优先搜索
//         int n = cost.size();
        
//         dfs(cost,n,0,0);
//         dfs(cost,n,1,0);
//         return ans;
//     }
// };

虚数五行区解题中心 文章被收录于专栏

非淡泊无以明志,非宁静无以致远

全部评论

相关推荐

躺尸修仙中:因为很多92的也去卷中小厂,反正投递简历不要钱,面试不要钱,时间冲突就推,不冲突就面试积累经验
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务