题目
思路dp,维护每个房子粉刷的颜色的最小值即可
代码
class Solution {
public:
int dp[105][5];
int minCost(vector<vector<int>>& costs) {
int n = costs.size();
dp[0][0] = costs[0][0];
dp[0][1] = costs[0][1];
dp[0][2] = costs[0][2];
for (int i = 1; i < n; i++) {
dp[i][0] = min(dp[i-1][1], dp[i-1][2]) + costs[i][0];
dp[i][1] = min(dp[i-1][0], dp[i-1][2]) + costs[i][1];
dp[i][2] = min(dp[i-1][1], dp[i-1][0]) + costs[i][2];
}
return min({dp[n-1][0], dp[n-1][1], dp[n-1][2]});
}
};