当前位置:网站首页>LeetCode 劍指Offer II 091 粉刷房子[動態規劃] HERODING的LeetCode之路

LeetCode 劍指Offer II 091 粉刷房子[動態規劃] HERODING的LeetCode之路

2022-06-25 04:15:00 HERODING23

在這裏插入圖片描述

解題思路:
非常基礎的一道動態規劃題,甚至可以直接在題中所給的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]));
    }
};
原网站

版权声明
本文为[HERODING23]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/176/202206250210308407.html