当前位置: 首页 > news >正文

南头专业企业网站建设公司不要手贱搜这15个关键词

南头专业企业网站建设公司,不要手贱搜这15个关键词,权威的赣州网站建设,怎么上传软件到网站[动态规划] (十四) 简单多状态 LeetCode LCR 091.粉刷房子 文章目录 [动态规划] (十四) 简单多状态 LeetCode LCR 091.粉刷房子题目解析解题思路状态表示状态转移方程初始化和填表顺序返回值 代码实现总结 LCR 091. 粉刷房子 题目解析 (1) 一排房子,共有n个 (2) 染…

[动态规划] (十四) 简单多状态 LeetCode LCR 091.粉刷房子

文章目录

      • [动态规划] (十四) 简单多状态 LeetCode LCR 091.粉刷房子
        • 题目解析
          • 解题思路
          • 状态表示
          • 状态转移方程
          • 初始化和填表顺序
          • 返回值
        • 代码实现
        • 总结

LCR 091. 粉刷房子

image-20231108205030592

题目解析

(1) 一排房子,共有n个

(2) 染红色、蓝色和绿色,且相邻两个房子颜色不能相同

(3) 不同颜色的价格用cost数组表示,大小为n*3

(4) cost[0] [0],0表示染红色的价格、cost[1] [2], 2表示染绿色的价格,剩下的1则表示染蓝色的价格

(5) 求出最小价格

示例1:

image-20231108205916958

解题思路
状态表示

按照以往的经验,我们就取以i为终点,所花费的最小的价格

本题的开始有三种不同的染法,第一个位置可以染红色、蓝色或者绿色。

所以dp[i] [0]:表示第一个位置染红色,到i位置的最小价格

dp[i] [1]:表示第一个位置染蓝色,到i位置的最小价格

dp[i] [2]:表示第一个位置染绿色,到i位置的最小价格

状态转移方程

当我们第i个位置染了红色,那么i-1位置就是取蓝色或者绿色的最小价格

所以dp[i] [0] 为到i-1位置两种颜色的较小值加上对应的i位置染红色的价格

所以,可以得出三个状态转移方程

dp[i][0] = min(dp[i-1][1], dp[i-1][2]) + cost对应i位置染红色的价格
dp[i][1] = min(dp[i-1][0], dp[i-1][2]) + cost对应i位置染蓝色的价格
dp[i][2] = min(dp[i-1][0], dp[i-1][1]) + cost对应i位置染绿色的价格
初始化和填表顺序
  • 初始化

我们已经确定了三个初始时分别染红色、蓝色和绿色,填上价格即可。

  • 填表顺序

三个位置同时从左到右填即可。

返回值

返回三个染法的最小值即可。

看到这里,我们可以自己尝试实现代码,再来看下面的内容。


代码实现
class Solution {
public:int minCost(vector<vector<int>>& costs) {//创建dp数组int n = costs.size();vector<vector<int>> dp(n+1, vector<int>(3));//初始化//填表for(int i = 1; i <= n; i++){dp[i][0] = min(dp[i-1][1], dp[i-1][2]) + costs[i-1][0];//红色dp[i][1] = min(dp[i-1][0], dp[i-1][2]) + costs[i-1][1];//蓝色dp[i][2] = min(dp[i-1][0], dp[i-1][1]) + costs[i-1][2];//绿色}//返回值return min(dp[n][0], min(dp[n][1], dp[n][2]));}
};

image-20231108211125272

总结

细节1:在填表的过程中,会帮我们一并填上0对应位置的价格,所以我们在循环外边不用手动初始化。

细节2:注意下标之间的对应关系,我们从1开始,但是cost表是从0开始的。

细节3:返回值是三者中的最小值。

http://www.shuangfujiaoyu.com/news/28254.html

相关文章:

  • 深圳网站建设 设计最新的疫情最新消息
  • 用织梦做的网站seo站长工具
  • 做go kegg的网站seo的作用主要有
  • 做网站如何更新百度快照谈谈自己对市场营销的理解
  • 如何通过网络营销自己免费推广seo
  • 12306网站开发语言免费广告投放网站
  • 自己的网站什么做优化58同城黄页推广
  • 如何制作网站模板泉州seo按天计费
  • 睿艺美开封做网站google seo实战教程
  • 成免费crm不用下载seo顾问多少钱
  • 连云港品牌网站建设seo与sem的关系
  • 上海闵行注册公司网络优化工程师吃香吗
  • 海报在线制作免费网站官网排名优化
  • 企业网站系统设计论文视频营销
  • 网站为什么要续费找精准客户的app
  • 政府型网站规划建设seo代运营
  • 移动网站建站视频seo关键词优化技术
  • 做软件常用的网站有哪些软件有哪些济南全网推广
  • wordpress数据文件seo技术顾问
  • 做直播网站找哪个百度网页版怎么切换
  • 网站运营维护工作内容seo基础
  • 适合个人做的网站国内新闻摘抄
  • 佛山网站哪家最专业网络推广的手段
  • 手机 网站 分辨率网页设计代做
  • 做网站游戏推广赚钱吗谷歌浏览器安卓版
  • wordpress建站教程视频seo优化软件大全
  • 云凡济南网站建设开发昆明seo网站建设
  • 上海网站建设免seo网络推广报价
  • 快站优惠券百度快照是什么意思?
  • 建设工程信息在什么网站发布计算机培训班有用吗