力扣每日一题【算法学习day.131】

前言

###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.用地毯覆盖后的最少白色砖块

题目链接: 2209. 用地毯覆盖后的最少白色砖块 - 力扣(LeetCode)

题面:

附上灵神代码:

java 复制代码
class Solution {
    public int minimumWhiteTiles(String floor, int numCarpets, int carpetLen) {
        int m = floor.length();
        int[][] memo = new int[numCarpets + 1][m];
        for (int[] row : memo) {
            Arrays.fill(row, -1); // -1 表示没有计算过
        }
        return dfs(numCarpets, m - 1, floor.toCharArray(), memo, carpetLen);
    }

    private int dfs(int i, int j, char[] floor, int[][] memo, int carpetLen) {
        if (j < carpetLen * i) { // 剩余砖块可以全部覆盖
            return 0;
        }
        if (memo[i][j] != -1) { // 之前计算过
            return memo[i][j];
        }
        int res = dfs(i, j - 1, floor, memo, carpetLen) + (floor[j] - '0');
        if (i > 0) {
            res = Math.min(res, dfs(i - 1, j - carpetLen, floor, memo, carpetLen));
        }
        return memo[i][j] = res; // 记忆化
    }
}

后言

共勉

相关推荐
有为少年2 分钟前
Welford算法 | 从单一到批次
大数据·人工智能·深度学习·神经网络·算法·机器学习
吴可可1234 分钟前
Teigha处理CAD样条曲线的方法解析
数据库·算法·c#
啊董dong17 分钟前
noi-2026年5月12号小测验
数据结构·c++·算法
不知名的忻17 分钟前
红黑树(简易版)
算法·红黑树
NQBJT19 分钟前
万字拆解 NeckFix:AI 脖子前倾检测的算法原理与工程实现
人工智能·算法
jaychouchannel24 分钟前
Python 常用排序算法详解
算法
数智工坊26 分钟前
【Inner Monologue论文阅读】: 首次将大语言模型嵌入机器人控制闭环,实现自我反思和动态行为调整
论文阅读·人工智能·算法·语言模型·机器人·无人机
金銀銅鐵30 分钟前
[Java] 如何理解 class 文件中字段的 access flags?
java·后端
振浩微433射频芯片36 分钟前
告别“喊破嗓”:深度解析433MHz射频在宠物训练器中的核心应用与选型
单片机·嵌入式硬件·物联网·学习·宠物
小短腿的代码世界38 分钟前
Qt国际化深度解析:从源码到企业级多语言实践
java·数据库·qt