LeetCode 剑指Offer II 091 粉刷房子[动态规划] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 剑指Offer II 091 粉刷房子[动态规划] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。

解题思路:
非常基础的一道动态规划题,甚至可以直接在题中所给的costs基础上进行,把costs作为状态转移数组,cost[i][0]显然是由之前i-1的1和2颜色决定的,cost[i][1]和cost[i][2]也是同理,所以一直取每个状态的最小和,返回即可,代码如下:

class Solution 
public:
    int minCost(vector<vector<int>>& costs) 
        int n = costs.size();
        for(int i = 1; i < n; i ++) 
            costs[i][0] += min(costs[i-1][1], costs[i-1][2]);
            costs[i][1] += min(costs[i-1][0], costs[i-1][2]);
            costs[i][2] += min(costs[i-1][0], costs[i-1][1]);
        
        return min(costs[n-1][0], min(costs[n-1][1], costs[n-1][2]));
    
;

以上是关于LeetCode 剑指Offer II 091 粉刷房子[动态规划] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

Python描述 LeetCode 剑指 Offer II 091. 粉刷房子

Python描述 LeetCode 剑指 Offer II 091. 粉刷房子

LeetCode 剑指Offer II 091 粉刷房子[动态规划] HERODING的LeetCode之路

剑指 Offer II 091. 粉刷房子

剑指 Offer II 091. 粉刷房子

[LeetCode]剑指 Offer 32 - II. 从上到下打印二叉树 II