P211. 粉刷房子

leetcode 256 lintcode 515 动态规划 讨论

温馨提示:您没有权限查看当前视频。 立即购买观看视频

描述

这个题目说的是,你要用红/蓝/绿三种不同的颜色去粉刷 n 个房子,一个房子只能刷成一种颜色,并且相邻的房子不能粉刷相同的颜色

现在给你一个 nx3 的费用矩阵,表示每个房子刷成红/蓝/绿 3 种颜色对应的费用。你要计算出,粉刷这 n 个房子的最小费用。注意,矩阵中的费用都为正整数。

比如说,给你的费用矩阵 a 是:

8 2 4
5 7 3
9 1 6
4 1 9

对于这个例子,你要将 0 号房子刷成蓝色,将 1 号房子刷成绿色,将 2 号房子刷成蓝色,将 3 号房子刷成红色。

最后得到的最小费用是 2 + 3 + 1 + 4 = 10。

相关视频:抢劫连排房子

关于 AlgoCasts

AlgoCasts 旨在用心做好每一个算法讲解视频。每个视频包含两个部分:题目的剖析讲解以及编码,力求在讲解清楚到位的基础上,尽可能地保持视频精简短小,让大家可以在碎片时间里进行学习,并收获这些算法题背后的思想与乐趣。