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

【康复学习--LeetCode每日一题】3111. 覆盖所有点的最少矩形数目

题目:

给你一个二维整数数组 point ,其中 points[i] = [xi, yi] 表示二维平面内的一个点。同时给你一个整数 w 。你需要用矩形 覆盖所有 点。

每个矩形的左下角在某个点 (x1, 0) 处,且右上角在某个点 (x2, y2) 处,其中 x1 <= x2 且 y2 >= 0 ,同时对于每个矩形都 必须 满足 x2 - x1 <= w 。

如果一个点在矩形内或者在边上,我们说这个点被矩形覆盖了。

请你在确保每个点都 至少 被一个矩形覆盖的前提下,最少 需要多少个矩形。

注意:一个点可以被多个矩形覆盖。

示例 1:
在这里插入图片描述
输入:points = [[2,1],[1,0],[1,4],[1,8],[3,5],[4,6]], w = 1
输出:2
解释:
上图展示了一种可行的矩形放置方案:
一个矩形的左下角在 (1, 0) ,右上角在 (2, 8) 。
一个矩形的左下角在 (3, 0) ,右上角在 (4, 8) 。

示例 2:
在这里插入图片描述
输入:points = [[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6]], w = 2
输出:3
解释:
上图展示了一种可行的矩形放置方案:
一个矩形的左下角在 (0, 0) ,右上角在 (2, 2) 。
一个矩形的左下角在 (3, 0) ,右上角在 (5, 5) 。
一个矩形的左下角在 (6, 0) ,右上角在 (6, 6) 。

示例 3:
在这里插入图片描述
输入:points = [[2,3],[1,2]], w = 0
输出:2
解释:
上图展示了一种可行的矩形放置方案:
一个矩形的左下角在 (1, 0) ,右上角在 (1, 2) 。
一个矩形的左下角在 (2, 0) ,右上角在 (2, 3) 。

提示:
1 <= points.length <= 105
points[i].length==2
0 <= xi ==points[i][0] <= 109
0 <= yi == points[i][1] <= 109
0 <= w <= 109
所有点坐标 (xi, yi) 互不相同。

思路:

贪心,按横坐标从小打到排序,查看需要多少次能将横坐标全部覆盖,每次和x+w进行比较,x+w内代表都可覆盖,超过此范围的则代表需要一个新矩形。

代码:

class Solution {//贪心 横坐标需要几个矩形可以覆盖public int minRectanglesToCoverPoints(int[][] points, int w) {// 按横坐标从小到大排序Arrays.sort(points, (a, b) -> Integer.compare(a[0], b[0]));int ans = 0;// 每次用x+w来更新边界值int bound = -1;for (int[] p : points) {if (p[0] > bound) {bound = p[0] + w;ans++;}}return ans;}
}
http://www.lryc.cn/news/410534.html

相关文章:

  • Django实战:开启数字化任务管理的新纪元
  • 史上最全网络安全面试题+答案
  • Python 爬虫入门(五):使用 lxml 解析网页
  • 阿里云RDS到亚马逊云RDS的实时数据同步方案详解
  • 《LeetCode热题100》---<滑动窗口篇两道>
  • Python学习计划——9.1多线程编程
  • 借助 NGINX 对本地的 Kubernetes 服务进行自动化的 TCP 负载均衡
  • 基于python的大学学生影响力分析系统设计与实现
  • upload-labs靶场(1-19关)
  • Python面向对象浅析
  • JS基本语法
  • LSTM详解总结
  • 制品库nexus
  • 2022.11.17 阿里钉钉数据开发岗位一面
  • 【无标题】Git(仓库,分支,分支冲突)
  • 访问控制列表(ACL)
  • 自用git命令(待完善)
  • 突破•指针四
  • 深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
  • day1 服务端与消息编码
  • 部署WMS仓储管理系统项目后的注意事项
  • 跨网段 IP 地址通信故障分析
  • 存储引擎MySQL和InnoDB(数据库管理与高可用)
  • 探索局域网传输新境界 | 闪电藤 v2.2.7
  • Tiling Window Management
  • 9. kubernetes资源——pv/pvc持久卷
  • 2024西安铁一中集训DAY27 ---- 模拟赛((bfs,dp) + 整体二分 + 线段树合并 + (扫描线 + 线段树))
  • STM32F401VET6 PROTEUS8 ILI9341 驱动显示及仿真
  • 抖音视频素材网站有哪些?非常好用的5个抖音视频素材库分享
  • 【数据结构】链式二叉树的实现和思路分析及二叉树OJ