动态规划算法-简单多状态dp问题:14.粉刷房子

题目链接:LCR 091. 粉刷房子(中等)

算法原理:

解法:动态规划

Java代码:

java 复制代码
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-10-19
 * Time: 19:07
 */
class Solution {
    //LCR091.粉刷房子
    //吴小哲跟我写的一样
    //看完算法原理后自己写的,除了一开始忘记了下标映射关系导致的越界,其余一遍过
    public int minCost(int[][] costs) {
        int n=costs.length;
        int[][] dp=new int[n+1][3];
        //都是0,默认初始化已经帮我们搞定了
        for(int i=1;i<=n;i++){
            dp[i][0]=Math.min(dp[i-1][1],dp[i-1][2])+costs[i-1][0];
            dp[i][1]=Math.min(dp[i-1][0],dp[i-1][2])+costs[i-1][1];
            dp[i][2]=Math.min(dp[i-1][1],dp[i-1][0])+costs[i-1][2];
        }
        return Math.min(Math.min(dp[n][0],dp[n][1]),dp[n][2]);
    }
}
相关推荐
啊阿狸不会拉杆1 小时前
《数字图像处理》-实验1
图像处理·人工智能·算法·计算机视觉·数字图像处理
谅望者2 小时前
数据分析笔记15:Python模块、包与异常处理
开发语言·人工智能·python
黎雁·泠崖2 小时前
C 语言联合体与枚举:共用内存 + 常量枚举 + 实战
c语言·开发语言·python
yousuotu2 小时前
基于Python实现亚马逊销售数据分析与预测
开发语言·python·数据分析
L Jiawen2 小时前
【Golang基础】基础知识(上)
开发语言·后端·golang
zore_c2 小时前
【C语言】排序算法——快速排序详解(含多种变式)!!!
c语言·数据结构·笔记·算法·排序算法·深度优先·推荐算法
Savior`L2 小时前
字符串哈希
c++·算法·哈希算法·散列表
卜锦元2 小时前
Golang后端性能优化手册(第四章:异步处理与消息队列)
开发语言·后端·docker·容器·性能优化·golang·团队开发
啊阿狸不会拉杆2 小时前
《数字图像处理》实验3-频率域处理方法
图像处理·人工智能·算法·计算机视觉·数字图像处理