给你一个 偶数 整数 n
,表示沿直线排列的房屋数量,以及一个大小为 n x 3
的二维数组 cost
,其中 cost[i][j]
表示将第 i
个房屋涂成颜色 j + 1
的成本。
如果房屋满足以下条件,则认为它们看起来 漂亮:
n = 6
,则位置 (0, 5)
、(1, 4)
和 (2, 3)
的房屋被认为是等距的。返回使房屋看起来 漂亮 的 最低 涂色成本。
示例 1:
输入: n = 4, cost = [[3,5,7],[6,2,9],[4,8,1],[7,3,5]]
输出: 9
解释:
最佳涂色顺序为 [1, 2, 3, 2]
,对应的成本为 [3, 2, 1, 3]
。满足以下条件:
(1 != 2)
。(2 != 3)
。使房屋看起来漂亮的最低涂色成本为 3 + 2 + 1 + 3 = 9
。
示例 2:
输入: n = 6, cost = [[2,4,6],[5,3,8],[7,1,9],[4,6,2],[3,5,7],[8,2,4]]
输出: 18
解释:
最佳涂色顺序为 [1, 3, 2, 3, 1, 2]
,对应的成本为 [2, 8, 1, 2, 3, 2]
。满足以下条件:
(1 != 2)
。(3 != 1)
。(2 != 3)
。使房屋看起来漂亮的最低涂色成本为 2 + 8 + 1 + 2 + 3 + 2 = 18
。
提示:
2 <= n <= 105
n
是偶数。cost.length == n
cost[i].length == 3
0 <= cost[i][j] <= 105