Formatted question description: https://leetcode.ca/all/256.html
256 Paint House There are a row of n houses, each house can be painted with one of the three colors: red, blue or green. The cost of painting each house with a certain color is different. You have to paint all the houses such that no two adjacent houses have the same color. The cost of painting each house with a certain color is represented by a n x 3 cost matrix. For example, costs is the cost of painting house 0 with color red; costs is the cost of painting house 1 with color green, and so on... Find the minimum cost to paint all houses. Example: Given costs = [[14,2,11],[11,14,5],[14,3,10]] return 10 house 0 is blue, house 1 is green, house 2 is blue, 2 + 5 + 3 = 10 Note: All costs are positive integers.
Two-dimensional dynamic array dp, where
dp[i][j] represents the minimum cost of brushing to the i+1th house with color j, and the state transition equation is:
dp[i][j] = cost[i][j] + min(dp[i-1][(j + 1)% 3], dp[i-1][(j + 2)% 3])