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. 粉刷房子