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

面试必看:粉刷房子问题

粉刷房子问题(动态规划)详细题解

一、题目描述

有一排共n个房子,每个房子可以粉刷成红色、蓝色、绿色三种颜色之一,要求相邻的两个房子颜色不能相同。

每个房子粉刷成不同颜色的成本由一个n*3的正整数矩阵costs表示:

  • costs[i][0]:第i个房子粉刷成红色的成本
  • costs[i][1]:第i个房子粉刷成蓝色的成本
  • costs[i][2]:第i个房子粉刷成绿色的成本

需要计算粉刷完所有房子所需的最小花费成本

二、问题分析

本题属于典型的动态规划问题,核心特征如下:

  1. 求解连续数组的目标最小值
  2. i个房子的最小累计成本,可由第i-1个房子的状态推导得出
  3. 问题满足最优子结构性质,当前最优依赖于前一步的最优

由于相邻房子颜色不能相同,因此:

  • 若第i个房子刷红色,则第i-1个只能是蓝色或绿色
  • 若第i个房子刷蓝色,则第i-1个只能是红色或绿色
  • 若第i个房子刷绿色,则第i-1个只能是红色或蓝色

我们只需分别维护刷三种颜色的最小累计成本即可。

三、解题思路

  1. 状态定义

    • red:当前房子粉刷成红色时,前i个房子的最小累计成本
    • blue:当前房子粉刷成蓝色时,前i个房子的最小累计成本
    • green:当前房子粉刷成绿色时,前i个房子的最小累计成本
  2. 状态转移

    • 当前刷红色:前一个只能是蓝色或绿色,取两者最小值加上当前红色成本
    • 当前刷蓝色:前一个只能是红色或绿色,取两者最小值加上当前蓝色成本
    • 当前刷绿色:前一个只能是红色或蓝色,取两者最小值加上当前绿色成本
  3. 结果
    遍历结束后,三种颜色最终成本中的最小值即为答案。

四、代码实现(C++)

classSolution{public:intminCost(vector<vector<int>>&costs){intn=costs.size();if(n==0)return0;// 初始状态:第一个房子分别刷三种颜色的成本intred=costs[0][0];intblue=costs[0][1];intgreen=costs[0][2];for(inti=1;i<n;i++){// 先保存上一轮状态inttmp_red=red;inttmp_blue=blue;inttmp_green=green;// 当前颜色 = 上一轮另外两种颜色的最小成本 + 当前颜色成本red=min(tmp_blue,tmp_green)+costs[i][0];blue=min(tmp_red,tmp_green)+costs[i][1];green=min(tmp_red,tmp_blue)+costs[i][2];}// 取三种方案的最小值returnmin(red,min(blue,green));}};

五、复杂度分析

  • 时间复杂度:O(n)
    只需遍历一次所有房子,共n个房子,每次操作均为常数时间。

  • 空间复杂度:O(1)
    仅使用了若干个变量保存状态,没有使用额外的数组或容器。

http://www.jsqmd.com/news/384315/

相关文章:

  • 大模型实习模拟面试实录:分布式MoE推理中All-to-All通信的两大关键阶段深度解析(附连环追问与高分回答)
  • 2026冲刺用!专科生专用AI论文工具 —— 千笔
  • 大模型实习模拟面试实录:Few-Shot 示例构建中顺序与分布影响的深度解析(附连环追问与高分回答)
  • Transformer词序学习新方法FLOATER
  • CVE-2025-55182 远程命令执行利用工具 | Next.js/React 未授权RCE漏洞
  • 粉刷房子问题:从DP基础到空间极致优化学习笔记
  • 2026年可靠的夹套保温阻火呼吸阀厂家优质品牌推荐 - 品牌鉴赏师
  • 拖延症福音!降AI率工具 千笔·专业降AI率智能体 VS 云笔AI,研究生专属高效选择
  • Python GitHub Linux | 使用本机作为代理服务器
  • 2026硅酸钙保温管直销:哪些厂家值得信赖,高密度硅酸钙管托/高密度硅酸钙板,硅酸钙保温管直销厂家推荐排行榜单 - 品牌推荐师
  • 从界面到自感:论“AI元人文”的范式建构及其对后现象学的超越
  • RabbitMQ 技术(C/C++版):从0到1避坑指南(附完整代码)
  • 学长亲荐!继续教育专属AI论文神器 —— 千笔ai写作
  • 无心插柳:《新鸳鸯蝴蝶梦》MV一夜爆了,我复盘了3个“没想到”
  • 2026冲刺用!降AIGC平台 千笔AI VS 万方智搜AI,本科生专属降重神器
  • 2026年有实力的高压视镜,方框式视镜厂家口碑供应商推荐榜 - 品牌鉴赏师
  • 为什么用AI改AI越改越像AI?正确的降AI方法在这里
  • deepseek word 排版 - DS随心转小程序
  • 知网AIGC检测3.0算法升级后,怎么把AI率降到安全线以下?亲测有效的方法
  • 2026年知名的储罐阻火器厂家品质推荐名录 - 品牌鉴赏师
  • 2026年知名的铸造Y型过滤器,OF氧气过滤器厂家实力推荐名录 - 品牌鉴赏师
  • 使用Kopia对Supermemo进行备份 - LI,Yi
  • 救命神器 一键生成论文工具 千笔AI VS 笔捷Ai 精准适配MBA需求
  • 从此告别拖延!千笔写作工具,最受欢迎的AI论文网站
  • AI元人文:论岐金兰的断言
  • 智能体设计模式 第二章:路由模式 - 指南
  • 工作环境配置纪实
  • 2026毕业季降AI工具实测推荐:这两款帮我论文一次过检
  • 制氧机选购参考:国内知名生产企业概况,汽化器/真空管/储罐/液氮速冻机/液氩/制氮机/液氮/液氧,制氧机源头厂家推荐排行 - 品牌推荐师
  • 导师严选 9个降AI率工具:研究生必看的降AI率测评与推荐