由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教大家一道Google的题目
相关主题
请教一个Axis-Aligned Rectangles的算法怎么求contour of overlapping rectangles
请问一道面试题Google onsite interview questions
求overlap的rectagales问一个算法题
面试遇到扫描线算法和interval tree 问题怎么办这题咋做?
问道G题(2)一道面试题, 挺难的, 求助
臭名昭著的skyline问题求问twitter电面
大家来讨论一下这个求长方形面积的问题吧问个google面经题
微软校园面试总结算法--一个MXN matrix (0's and 1's)内求最大 rectangle(1's)
相关话题的讨论汇总
话题: rectangles话题: bst话题: axis话题: rectangle
进入JobHunting版参与讨论
1 (共1页)
b*****n
发帖数: 143
1
刚从MIT的网站上看来的:
http://courses.csail.mit.edu/iap/interview/Hacking_a_Google_Interview_Practice_Questions_Person_A.pdf
答案如下:
Question: Axis Aligned Rectangles
Describe an algorithm that takes an unsorted array of axis‐aligned
rectangles and returns any pair of rectangles that overlaps, if there is
such a pair. Axis‐aligned means that all the rectangle sides are either
parallel or perpendicular to the x‐ and y‐axis. You can assume that each rectangle object has two variables in it: the x‐y coordinates of the upper‐left corner and the bottom‐right corner. Good Answer: Create a sorted array of the x coordinates of the left and right edges of
the rectangles. Then, use a "scanline" to move from left to right through
the rectangles. Keep a binary search tree containing the y coordinates of the top and bottom edges of the rectangles that overlap the scanline. For each element of the array, check whether it is a left or right edge. If it is a right edge, remove the corresponding top and bottom edges from the BST. If it is a left edge, search the BST for rectangles that overlap the current rectangle; if there is one, return the overlap.
Then, add the y coordinates of the top and bottom edges of the rectangle to the BST. The search takes O(n log n) time, since it takes O(n log n) time to sort the rectangles and each of the 2n iterations takes O(log n) time.
这个解答会给出一对重叠的长方形,然后返回。如果想要得到所有重叠的长方形,有没有O(nlogn)的解法呢?当BST内部的长方形已经有重叠的时候,要用简单的二分查找好像有点困难。
谢谢大家。
1 (共1页)
进入JobHunting版参与讨论
相关主题
算法--一个MXN matrix (0's and 1's)内求最大 rectangle(1's)问道G题(2)
leetcode container with most water臭名昭著的skyline问题
largest rectangle in histogram大家来讨论一下这个求长方形面积的问题吧
在线等一道P家的电面coding题微软校园面试总结
请教一个Axis-Aligned Rectangles的算法怎么求contour of overlapping rectangles
请问一道面试题Google onsite interview questions
求overlap的rectagales问一个算法题
面试遇到扫描线算法和interval tree 问题怎么办这题咋做?
相关话题的讨论汇总
话题: rectangles话题: bst话题: axis话题: rectangle