一、题目
剑指 Offer II 091. 粉刷房子 - 力扣(LeetCode)
二、代码
class Solution {
public:
int minCost(vector<vector<int>>& costs) {
int row = costs.size();
int col = costs[0].size();
if (row == 1)
return min(min(costs[0][0], costs[0][1]), costs[0][2]);
vector<vector<int>>dp(row, vector<int>(3, 0));
dp[0][0] = costs[0][0];
dp[0][1] = costs[0][1];
dp[0][2] = costs[0][2];
for (int i = 1; i < row; i++)
{
dp[i][0] =costs[i][0]+ min(dp[i-1][1], dp[i - 1][2]);
dp[i][1] = costs[i][1] + min(dp[i-1][0],dp[i - 1][2]);
dp[i][2] = costs[i][2] + min(dp[i-1][0],dp[i - 1][1]);
}
return min(min(dp[row - 1][0], dp[row - 1][1]), dp[row - 1][2]);
}
};