美文网首页
391. 完美矩形

391. 完美矩形

作者: 来到了没有知识的荒原 | 来源:发表于2022-01-15 16:47 被阅读0次

391. 完美矩形

几个约束条件:

  1. 相加面积等于区域面积(区域面积由最左下角的点和最右上角的点张成(可能是不存在的虚拟点,这种请况就是不合法的))
  2. 4个顶点的count都为1
  3. 内部的所有点count不是2就是4
typedef long long ll;
class Solution {
public:
    bool isRectangleCover(vector<vector<int>>& rs) {
        vector<int> left(2,INT_MAX),right(2,0);
        for(auto &r:rs){
            left[0]=min(left[0],r[0]);
            left[1]=min(left[1],r[1]);
            right[0]=max(right[0],r[2]);
            right[1]=max(right[1],r[3]);
        }
        ll area=1ll*(right[0]-left[0])*(right[1]-left[1]);
        ll sum=0;
        map<pair<int,int>,int>mp;
        for(auto r:rs){
            sum+=1ll*(r[2]-r[0])*(r[3]-r[1]);
            mp[{r[0],r[1]}]++;
            mp[{r[0],r[3]}]++;
            mp[{r[2],r[1]}]++;
            mp[{r[2],r[3]}]++;
        }
        if(area!=sum)return false;

        set<pair<int,int>>S;
        S.insert({left[0],left[1]});
        S.insert({right[0],right[1]});
        S.insert({left[0],right[1]});
        S.insert({right[0],left[1]});

        for(auto ding:S){
            if(mp[{ding.first,ding.second}]!=1)return false;
        }
        for(auto r:rs){
            if(S.count({r[0],r[1]}))continue;
            if(S.count({r[2],r[3]}))continue;

            if(mp[{r[0],r[1]}]&1)return false;
            if(mp[{r[2],r[3]}]&1)return false;
        }
        return true;
    }
};

相关文章

  • 391. 完美矩形

    391. 完美矩形[https://leetcode-cn.com/problems/perfect-rectan...

  • 8.21 - hard - 77

    391. Perfect Rectangle 找出四个边角点。 所有的小矩形面积和等于大矩形面积 除了四个边角点,...

  • 完美矩形

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/perfec...

  • LeetCode刷题-完美矩形

    前言说明 算法学习,日常刷题记录。 题目连接 完美矩形[https://leetcode-cn.com/probl...

  • [58]完美矩形-小米2018秋

    1.题目描述 给定n个轴对齐的矩形其中n>0, 判断他们组合在一起能否覆盖一个完美的矩形区域(无重叠,无空隙)每个...

  • 2021-11-16 391 完美矩形

    满足矩形区域的面积等于所有矩形的面积之和,还要满足矩形区域四角的顶点只能出现一次,且其余顶点的出现次数只能是两次或...

  • Canvas-矩形绘制-Day01

    01矩形入门 02矩形进阶 03矩形高级 清屏

  • 391. Perfect Rectangle

    Given N axis-aligned rectangles where N > 0, determine if...

  • 391.他变了

    文/杜春娜 高同学,几年前的一个学生。 一个在站队时你一眼就能看见的学生,是的,正如你所猜的那样,...

  • Java输出形状

    输出矩形 以此矩形案例(4行,9列的矩形)为例 前面有空格的矩形 以此矩形案例(4行,9列的矩形)为例 输出平行四...

网友评论

      本文标题:391. 完美矩形

      本文链接:https://www.haomeiwen.com/subject/avnthrtx.html