楼主: yangdaxian
跳转到指定楼层
上一主题 下一主题
收起左侧

Google 电面

全局:
yangdaxian 发表于 2018-6-15 11:13
求大神指点nlogn具体怎么做

不敢.. 还没怎么测试过..

  1.     boolean canPass(int[][] rectangles)
  2.     {
  3.         // sort by x, sort by longer length
  4.         Queue<int[]> q = new PriorityQueue<>((a, b) -> (a[0] == b[0] ? b[2] - b[0] : a[2] - a[0]));
  5.         for(int[] rec : rectangles) q.offer(rec);
  6.         int[] u = null;
  7.         while(!q.isEmpty())
  8.         {
  9.             int[] p = q.poll();
  10.             if(u == null) u = p;
  11.             if(overlap(u, p))
  12.             {
  13.                 u[0] = Math.min(u[0], p[0]);
  14.                 u[1] = Math.min(u[1], p[1]);
  15.                 u[2] = Math.max(u[2], p[2]);
  16.                 u[3] = Math.max(u[3], p[3]);
  17.                 if(u[1] <= 0 && u[3] >= 1) return false;
  18.             }
  19.             else u = p;               
  20.         }
  21.         if(u[1] <= 0 && u[3] >= 1) return false; // for last merged rectangles
  22.         return true;
  23.     }   

  24.     boolean overlap(int[] rec1, int[] rec2)
  25.     {
  26.         int x1 = rec1[0], x2 = rec1[2], y1 = rec1[1], y2 = rec1[3],
  27.             x3 = rec2[0], x4 = rec2[2], y3 = rec2[1], y4 = rec2[3];
  28.         // either x or y has no intersection
  29.         if(x2 < x3 || x4 < x1 || y2 < y3 || y4 < y1) return false;
  30.         return true;
  31.     }
复制代码


回复

使用道具 举报

🔗
 楼主| yangdaxian 2018-6-15 11:54:15 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
 楼主| yangdaxian 2018-6-15 12:19:25 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
 楼主| yangdaxian 2018-6-15 12:37:09 | 只看该作者
全局:
kexir123 发表于 2018-6-15 11:53
可以O(nlogn). 我的方法如下
(1)首先遍历长方形,每个长方形保存两个event (x1, y1, y2, true), (x2, y1 ...

能问一下不用线段树,在不merge的情况下如何在logn内判断是否挡住吗?
回复

使用道具 举报

🔗
kexir123 2018-6-15 12:47:50 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
 楼主| yangdaxian 2018-6-15 12:49:18 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
kexir123 2018-6-15 12:54:33 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
 楼主| yangdaxian 2018-6-15 22:01:59 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表