尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

记力扣2271.毯子覆盖的最多白色砖块数 练习理解 - 详解

记力扣2271.毯子覆盖的最多白色砖块数 练习理解 - 详解
📅 发布时间:2026/6/20 18:22:26

给你一个二维整数数组 tiles ,其中 tiles[i] = [li, ri] ,表示所有在 li <= j <= ri 之间的每个瓷砖位置 j 都被涂成了白色。

同时给你一个整数 carpetLen ,表示可以放在 任何位置 的一块毯子的长度。

通过请你返回使用这块毯子,最多 能够盖住多少块瓷砖。

思路:

先将列表按元素第一个数字大小顺序排序(tiles.sort(key:lambda x:x[0]),接着开始遍历,算出每一个列表的长度,然后通过carpet_left=该列表右端点长减去毯子长 +1 算 出毯子左端点的位置,然后去判断第一个列表的右端点是否小于毯子左端点假设成立则得剔除该列表的长度,达到合适的管用毯子覆盖,然后算出不被覆盖的最大长度,之后结果就是max(ans,cover-uncover),前面算的是完全不在范围内的列表长度,末了还需把部分重叠的减去才是最终的结果

from typing import List
class Solution:def maximumWhiteTiles(self,tiles:List[int],carpeten:int)->int:ans,cover,left=0,0,0tiles.sort(key=lambda x:x[0])for tl,tr in tiles:cover +=tr-tl+1carpet_left=tr-carpeten+1while tiles[left][1]

难点:

  1. 区间覆盖的边界处理

    • 难点在于计算uncover部分:max(carpet_left - tiles[left][0], 0)
    • 当地毯左边界落在某个瓷砖区间中间时就是这部分需要准确判断当前左边界瓷砖有多少部分不在被地毯覆盖,尤其
  2. 滑动窗口的调整策略

    • 如何确定窗口左边界的移动时机:while tiles[left][1] < carpet_left
    • 需要精准判断哪些瓷砖完全不在被当前地毯覆盖,从而从窗口中移除
  3. 地毯长度与瓷砖区间的匹配

    • 当地毯长度大于多个瓷砖区间总和时的处理
    • 当地毯长度小于单个瓷砖区间时的部分覆盖计算
  4. 最优解的更新时机

    • 每次调整窗口后都需要计算当前有效覆盖长度,并与历史最优解比较
    • 这里的有效覆盖长度是cover - uncover,而不是简单的cover

相关新闻

  • 精通-Pandas-探索性分析-全-
  • 精通-HTML5-表单-全-
  • ABC429F Shortest Path Query 题解

最新新闻

  • MPC8641D双核SoC:嵌入式网络设计的集成化与多核编程实战
  • 6月西安奢侈品回收,闲置奢侈品包包手表首饰变现前先看看这篇 - 钦扬网络
  • 2026年6月评价高的别墅外墙石材/本地石材厂家推荐泌阳县丰源石业,加厚抗冻板材,北方低温户外不开裂不剥落 - 品牌鉴赏师
  • MAC7200微控制器时钟与复位机制深度解析与实战配置
  • 2026年详尽评测:10款好用的降AIGC软件,部分无限免费降AI!必看干货 - 降AI小能手
  • 2026南京品牌首饰保值白皮书,旧款磨损首饰,均按市场实价变现 - 讯息早知道

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号