It's my first time trying to create recurrence relation . I am trying to build and expalin recurrence relation for the 3 colors house painting problem :
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[0][0] is the cost of painting house 0 with color red;costs[1][2] is the cost of painting house 1 with color green, and so on... Find the minimum cost to paint all houses.
The algoritem to solve this problem is here :
http://happycoding2010.blogspot.co.il/2015/11/leetcode-256-paint-house.html
Any idea ?
Cost[1][j%3] = min(Cost[i-1][(j+1)%3], Cost[i-1][(j+2)%3]) + Cost[i][j]
using the internet and exmaples from class but I am not sure it's enough and if it get all the possibilities
– benz May 23 '17 at 17:06ithered,blueandgreenvariables keep the minimum cost of painting allipreceding houses in such a way, that the last of them (i.e., the house at indexi) is red, blue or green, respectively. In each iteration we find the cheapest combination of the current house color with non-colliding preceding solution. At the end of each iteration we have three smallest possible costs for a row ofi+1houses. Finally we choose the smallest of the three. – CiaPan Jun 21 '18 at 15:14if()is not necessary, the code in theelsebranch would correctly handle thei==0case. – CiaPan Jun 21 '18 at 20:37