• 391 Perfect Rectangle 完美矩形


    有 N 个与坐标轴对齐的矩形, 其中 N > 0, 判断它们是否能精确地覆盖一个矩形区域。
    每个矩形用左下角的点和右上角的点的坐标来表示。例如, 一个单位正方形可以表示为 [1,1,2,2]。 ( 左下角的点的坐标为 (1, 1) 以及右上角的点的坐标为 (2, 2) )。

    详见:https://leetcode.com/problems/perfect-rectangle/description/

    C++:

        class Solution {  
        public:  
            bool isRectangleCover(vector<vector<int>>& rectangles) {  
                unordered_map<string, int> hash;  
                for(auto val: rectangles)  
                {  
                    for(int i = 0; i < 4; i++)  
                    {  
                        string tem = to_string(val[i/2*2])+','+to_string(val[i%2*2+1]);  
                        if(hash[tem]&(1<<i))
                        {
                            return false;  
                        }
                        hash[tem] |= (1<<i);  
                    }  
                }  
                int cntCorner = 0;  
                for(auto& val: hash)  
                {  
                    int sec = val.second;  
                    if(!(sec&(sec-1)) && cntCorner++ > 4)
                    {
                        return false;  
                    }
                    if((sec&(sec-1)) && !(sec==3||sec==12||sec==5||sec==10||sec==15))   
                    {
                        return false;
                    }   
                }  
                return true;  
            }  
        };  
    

     参考:https://blog.csdn.net/qq508618087/article/details/52483625

  • 相关阅读:
    Servlet
    MySQL游标
    MySQL数据库的备份和还原
    MySQL安全管理
    MySQL存储过程
    MySQL联结——实现多表查询
    MySQL视图
    MySQL触发器
    asp.net core 读取连接字符串
    form表单提交前进行ajax验证
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8849582.html
Copyright © 2020-2023  润新知