clueless coding // TODO: be smarter

LeetCode Paint House: Java Solution



TL;DR Code Solution


public int minCost(int[][] costs) {

    if (costs.length == 0) {
        return 0;
    }

    for (int i = 1; i < costs.length; i++) {
        costs[i][0] += Math.min(costs[i-1][1], costs[i-1][2]);
        costs[i][1] += Math.min(costs[i-1][2], costs[i-1][0]);
        costs[i][2] += Math.min(costs[i-1][0], costs[i-1][1]);
    }

    int n = costs.length;
    return Math.min(costs[n - 1][0], Math.min(costs[n-1][1], costs[n-1][2]));

}