博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode: Paint House
阅读量:5966 次
发布时间:2019-06-19

本文共 1672 字,大约阅读时间需要 5 分钟。

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.Note:All costs are positive integers.Show Company TagsShow TagsShow Similar Problems

 The same with

1 public class Solution { 2     public int minCost(int[][] costs) { 3         if (costs==null || costs.length==0 || costs[0].length==0) return 0; 4         int n = costs.length; 5         int c = costs[0].length; 6         int[][] res = new int[n][c]; 7  8         for (int j=0; j

 

Better Solution: O(N) time, O(1) space

1 public class Solution { 2     public int minCost(int[][] costs) { 3         if(costs != null && costs.length == 0) return 0; 4         for(int i = 1; i < costs.length; i++){ 5             // 涂第一种颜色的话,上一个房子就不能涂第一种颜色,这样我们要在上一个房子的第二和第三个颜色的最小开销中找最小的那个加上 6             costs[i][0] = costs[i][0] + Math.min(costs[i - 1][1], costs[i - 1][2]); 7             // 涂第二或者第三种颜色同理 8             costs[i][1] = costs[i][1] + Math.min(costs[i - 1][0], costs[i - 1][2]); 9             costs[i][2] = costs[i][2] + Math.min(costs[i - 1][0], costs[i - 1][1]);10         }11         // 返回涂三种颜色中开销最小的那个12         return Math.min(costs[costs.length - 1][0], Math.min(costs[costs.length - 1][1], costs[costs.length - 1][2]));13     }14 }

 

转载地址:http://wstax.baihongyu.com/

你可能感兴趣的文章
Oracle 索引
查看>>
数据库复习
查看>>
unix 环境高级编程
查看>>
为数据库建立索引
查看>>
第二周作业-软件工作量的估计
查看>>
我的wordpress插件总结
查看>>
MAXIMO 快速查找实现
查看>>
Oracle——条件控制语句
查看>>
[Linux][Redis][05]Benchmark
查看>>
第一次作业-准备篇
查看>>
HDU1848 Fibonacci again and again
查看>>
HTML思维导图
查看>>
office2016选择性安装
查看>>
C# 自定义控件入门
查看>>
git改密码出现授权问题
查看>>
Hadoop IO 特性详解(2)
查看>>
ORA-02266: 表中的唯一/主键被启用的外键引用
查看>>
MySQL类型转换 使用CAST将varchar转换成int类型排序
查看>>
Django的POST请求时因为开启防止csrf,报403错误,及四种解决方法
查看>>
Apache common-fileupload用户指南
查看>>