lintcode - 房屋染色

Posted tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lintcode - 房屋染色相关的知识,希望对你有一定的参考价值。

 1 class Solution {
 2 public:
 3     /*
 4      * @param costs: n x 3 cost matrix
 5      * @return: An integer, the minimum cost to paint all houses
 6      */
 7      const int inf = 0x3f3f3f3f;
 8      vector<vector<int> > dp;
 9     int minCost(vector<vector<int>> &costs) {
10         // write your code here‘
11         if(costs.size() == 0) return 0;
12         dp.resize(costs.size(), vector<int>(3,inf));
13         for(int i = 0; i < costs.size(); ++i){
14                 for(int j = 0; j < 3; ++j){
15                         if(i == 0){
16                                 dp[i][j] = costs[i][j];
17                         } else {
18                                 vector<int> tmp = color(j);
19                                 dp[i][j] = min(dp[i-1][tmp[0]], dp[i-1][tmp[1]]) + costs[i][j];
20                         }
21                 }
22         }
23         return min(dp[costs.size() - 1][0], min(dp[costs.size() - 1][1], dp[costs.size() - 1][2]));
24     }
25     vector<int> color(int x){
26         vector<int> y;
27         if(x == 0){
28                 y.push_back(1);
29                 y.push_back(2);
30                 return y;
31         } else if(x == 1){
32                 y.push_back(0);
33                 y.push_back(2);
34                 return y;
35         } else {
36                 y.push_back(1);
37                 y.push_back(0);
38                 return y;
39         }
40     }
41 };

 

以上是关于lintcode - 房屋染色的主要内容,如果未能解决你的问题,请参考以下文章

516. 房屋染色 II

516. 房屋染色 II

LintCode刷题——打劫房屋IIIIII

Lintcode--011(打劫房屋2)

LintCode 534. 打劫房屋 II

7.多关联双亲染色体片段代换系(CSSL)群体的代谢组分析