091.粉刷房子

一、题目

剑指 Offer II 091. 粉刷房子 - 力扣(LeetCode)

091.粉刷房子_第1张图片

二、代码

091.粉刷房子_第2张图片

class Solution {
public:
    int minCost(vector>& 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>dp(row, vector(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]);
}
};

你可能感兴趣的:(动态规划,算法)