Random Point in Non-overlapping Rectangles
Last updated
Was this helpful?
Last updated
Was this helpful?
Given a list of non-overlapping axis-aligned rectangles rects
, write a function pick
which randomly and uniformily picks an integer point in the space covered by the rectangles.
Note:
An integer point is a point that has integer coordinates.
A point on the perimeter of a rectangle is included in the space covered by the rectangles.
i
th rectangle = rects[i]
= [x1,y1,x2,y2]
, where [x1, y1]
are the integer coordinates of the bottom-left corner, and [x2, y2]
are the integer coordinates of the top-right corner.
length and width of each rectangle does not exceed 2000
.
1 <= rects.length <= 100
pick
return a point as an array of integer coordinates [p_x, p_y]
pick
is called at most 10000
times.
Example 1:
Example 2:
Explanation of Input Syntax:
The input is two lists: the subroutines called and their arguments. Solution
's constructor has one argument, the array of rectangles rects
. pick
has no arguments. Arguments are always wrapped with a list, even if there aren't any.