有 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

最新文章

  1. [HttpPost]和[AcceptVerbs(HttpVerbs.Post)]区别
  2. 高可用mysql之MHA源码剖析
  3. 常用的windows cmd 的使用
  4. Asp.Net完美隐藏服务器信息
  5. 9-slice-scaling
  6. web.xml 的加载过程
  7. linux学习笔记之线程
  8. Qt 学习 之 二进制文件读写
  9. WPF界面设计技巧(3)—实现不规则动画按钮
  10. Android从无知到有知——NO.4
  11. iOS 接收新消息通知调用系统声音 震动
  12. python socket编程制作后门木马(原创)
  13. 04 前端篇(JQuery)
  14. ASP.NET MVC 企业级实战
  15. 利用lnmp一键安装的php环境忘记mysql,root用户密码解决方法
  16. java得到日期相减的天数
  17. LeetCode(15. 三数之和)
  18. SQL获取第一天最后一天
  19. 《Linux内核设计与实现》 第一二章学习笔记
  20. Oracle Tuxedo工作站客户端与服务端的样例程序

热门文章

  1. CSS (二)解析CSS盒子
  2. Android插屏动画效果
  3. Python 获取新浪微博的热门话题 (API)
  4. docker (1) ---简介,使用
  5. web网站架构演变过程
  6. git/svn里面的merge和rebase区别
  7. Hiho1041 国庆出游 搜索题解
  8. 【智能家居篇】wifi网络结构(下)
  9. 浏览器对MP4视频 帧宽度 高度的兼容性
  10. AWK学习总结(三) Records and Fields