LeetCode 256. 粉刷房子(DP)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其与相邻的两个房子颜色不能相同。

当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个 n x 3 的矩阵来表示的。

例如,costs[0][0] 表示第 0 号房子粉刷成红色的成本花费;costs[1][2] 表示第 1 号房子粉刷成绿色的花费,以此类推。请你计算出粉刷完所有房子最少的花费成本。

注意:
所有花费均为正整数。示例:
输入: [[17,2,17],[16,16,5],[14,3,19]]
输出: 10
解释:0 号房子粉刷成蓝色,1 号房子粉刷成绿色,2 号房子粉刷成蓝色。最少花费: 2 + 5 + 3 = 10

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/paint-house
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

类似题目:LeetCode 265. 粉刷房子 II(DP)

  • dp[i][c] 表示刷完 i 房子后,i 房子是 c 颜色时,花费最小多少
class Solution {
public:int minCost(vector<vector<int>>& costs) {int n = costs.size(), house, color;if(n==0) return 0;vector<vector<int>> dp(n,vector<int>(3,INT_MAX));dp[0] = costs[0];for(house = 1; house < n; house++){for(color = 0; color < 3; ++color){dp[house][color] = min(dp[house][color], costs[house][color]+min(dp[house-1][(color+1)%3], dp[house-1][(color+2)%3]));}}return min(dp[n-1][0], min(dp[n-1][1], dp[n-1][2]));}
};

12 ms 9.5 MB


长按或扫码关注我的公众号,一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flare3d_clone

flare3d_clone (1)克隆 model.clone() var clone:Mesh3D pivot3D.clone() as Mesh3D;clone.addEventListener( MouseEvent3D.MOUSE_OVER, mouseOverEvent ); //鼠标放在上面clone.addEventListener( MouseEvent3D.MOUSE_OUT, mouseOutEvent );    //鼠标移开clone.addE…

LeetCode 1099. 小于 K 的两数之和(二分查找)

文章目录1. 题目2. 解题2.1 暴力2.2 二分查找1. 题目 给你一个整数数组 A 和一个整数 K&#xff0c;请在该数组中找出两个元素&#xff0c;使它们的和小于 K 但尽可能地接近 K&#xff0c;返回这两个元素的和。 如不存在这样的两个元素&#xff0c;请返回 -1。 示例 1&#…

sonarqube使用mysql_SonarQube的安装、配置与使用

SonarQube是管理代码质量一个开放平台&#xff0c;可以快速的定位代码中潜在的或者明显的错误&#xff0c;下面将会介绍一下这个工具的安装、配置以及使用。准备工作&#xff1b;1、jdk(不再介绍)2、sonarqube&#xff1a;http://www.sonarqube.org/downloads/3、SonarQubeScan…

windows phone7 学习笔记14——地理位置服务与反应性扩展框架

使用Location Service能帮助开发者为windows Phone 开发具备位置感知&#xff08;Location-Aware)功能的应用程序。比如很多导航的软件&#xff0c;查找附近吃饭、娱乐甚至厕所的应用程序&#xff0c;都是基于这个服务的。 我们有3种方法来获取设备的位置。GPS&#xff0c;移动…

LeetCode 1228. 等差数列中缺失的数字

文章目录1. 题目2. 解题1. 题目 有一个数组&#xff0c;其中的值符合等差数列的数值规律&#xff0c;也就是说&#xff1a; 在 0 < i < arr.length - 1 的前提下&#xff0c;arr[i1] - arr[i] 的值都相等。 我们会从该数组中删除一个 既不是第一个 也 不是最后一个的值…

离散系数的计算公式_如何求不同变量之间的离散程度

变异系数前面介绍的极差、方差和标准差都是反映一组数值变异程度的绝对值&#xff0c;其数值的大小&#xff0c;不仅取决于数值的变异程度&#xff0c;而且还与变量值水平的高低、计量单位的不同有关。所以&#xff0c;不宜直接利用上述变异指标对不同水平、不同计量单位的现象…

sql server 海量数据速度提升:SQL优化-索引(9) 【转】

8、union并不绝对比or的执行效率高 我们前面已经谈到了在where子句中使用or会引起全表扫描&#xff0c;一般的&#xff0c;我所见过的资料都是推荐这里用union来代替or。事实证明&#xff0c;这种说法对于大部分都是适用的。 select gid,fariqi,neibuyonghu,reader,title from …

LeetCode 252. 会议室(排序)

文章目录1. 题目2. 解题1. 题目 给定一个会议时间安排的数组&#xff0c;每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...] (si < ei)&#xff0c;请你判断一个人是否能够参加这里面的全部会议。 示例 1: 输入: [[0,30],[5,10],[15,20]] 输出: false示例 2: 输…

jedis连接mysql_使用Jedis操作Redis数据库

Redis不仅是使用命令来操作&#xff0c;现在基本上主流的语言都有客户端支持&#xff0c;比如java、C、C#、C、php、Node.js、Go等。 在官方网站里列一些Java的客户端&#xff0c;有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多…

LeetCode 1243. 数组变换

文章目录1. 题目2. 解题1. 题目 首先&#xff0c;给你一个初始数组 arr。然后&#xff0c;每天你都要根据前一天的数组生成一个新的数组。 第 i 天所生成的数组&#xff0c;是由你对第 i-1 天的数组进行如下操作所得的&#xff1a; 假如一个元素小于它的左右邻居&#xff0c…

mysql5.7.17二进制包_mysql5.7二进制包安装方法

1.部署tar xf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gzmv mysql-5.7.17-linux-glibc2.5-x86_64 /application/mysql-5.7.17ln -s /application/mysql-5.7.17 /application/mysql2.授权chown -R mysql.mysql /application/mysql-5.7.173.初始化/application/mysql-5.7.17/bin…

火狐字体加粗

-moz-box-shadow: 0 0 4px rgba(80,160,0,.05);转载于:https://www.cnblogs.com/sususu/archive/2012/02/28/2371532.html

LeetCode 1065. 字符串的索引对

文章目录1. 题目2. 解题1. 题目 给出 字符串 text 和 字符串列表 words, 返回所有的索引对 [i, j] 使得在索引对范围内的子字符串 text[i]…text[j]&#xff08;包括 i 和 j&#xff09;属于字符串列表 words。 示例 1: 输入: text "thestoryofleetcodeandme", wo…

mysql中用完即删用什么_MySQL使用和操作总结(《MySQL必知必会》读书笔记)

简介MySQL是一种DBMS&#xff0c;即它是一种数据库软件。DBMS可分为两类&#xff1a;一类是基于共享文件系统的DBMS&#xff0c;另一类是基于客户机——服务器的DBMS。前者用于桌面用途&#xff0c;通常不用于高端或更关键应用。MySQL是基于客户机——服务器的数据库。客户机—…

LeetCode 157. 用 Read4 读取 N 个字符

文章目录1. 题目2. 解题1. 题目 给你一个文件&#xff0c;并且该文件只能通过给定的 read4 方法来读取&#xff0c;请实现一个方法使其能够读取 n 个字符。 read4 方法&#xff1a; API read4 可以从文件中读取 4 个连续的字符&#xff0c;并且将它们写入缓存数组 buf 中。 …

mysql设置catalog_Catalog与Schema

按照SQL标准的解释&#xff0c;在SQL环境下Catalog和Schema都属于抽象概念&#xff0c;可以把它们理解为一个容器或者数据库对象命名空间中的一个层次&#xff0c;主要用来解决命名冲突问题。从概念上说&#xff0c;一个数据库系统包含多个Catalog&#xff0c;每个Catalog又包含…

北京印象

由于出差的缘故&#xff0c;在北京短暂的停留了四天。出了北京南站打车到了东单&#xff0c;待了几天才发现能小憩在东单真是挺爽的事情。 出了火车就有点咳嗽&#xff0c;不知道是不是空气太干的原因。与正值雨季的杭州不同&#xff0c;北京一直天气晴朗&#xff0c;不然去办…

LeetCode 716. 最大栈(双栈 / list+map)

文章目录1. 题目2. 解题2.1 双栈解法2.2 listmap1. 题目 设计一个最大栈&#xff0c;支持 push、pop、top、peekMax 和 popMax 操作。 push(x) -- 将元素 x 压入栈中。 pop() -- 移除栈顶元素并返回这个值。 top() -- 返回栈顶元素。 peekMax() -- 返回栈中最大元素。 popMax…

linux python命令无反应_Python学习第164课--Linux命令行特殊符号的意义及命令的语法规则...

【每天几分钟&#xff0c;从零入门python编程的世界&#xff01;】这节我们介绍Linux系统命令行中的一些特定的符号具有什么含义&#xff0c;以及命令行的语法规则。●Linux命令行中特定的符号的含义比如我登录到系统中之后&#xff0c;会显示[xiaozhilocalhost~]$这一行符号&a…

Lucene3.5自学4--建索引相关知识总结

Lucene简单介绍&#xff08;该部分摘自网络&#xff09; Lucene是一个高效的&#xff0c;基于Java的全文检索库。 所以在了解Lucene之前要费一番工夫了解一下全文检索。 那么什么叫做全文检索呢&#xff1f;这要从我们生活中的数据说起。 我们生活中的数据总体分为两种&#xf…