- The weight of random rectangle is not
areabut how many
- How to pick an rectangle based on the number of integers that a rect covers?
random * totalIntscan give us an
indexby checking in
You are given an array of non-overlapping axis-aligned rectangles
rects[i] = [ai, bi, xi, yi] indicates that
(ai, bi) is the
bottom-left corner point of the ith rectangle and
(xi, yi) is the
top-right corner point of the ith rectangle. Design an algorithm to pick a
random integer point inside the space
covered by one of the given rectangles. A point on the
perimeter of a rectangle is
included in the space covered by the rectangle.
Any integer point inside the space covered by one of the given rectangles should be equally likely to be returned.
Note that an integer point is a point that has integer coordinates.
Solution(int rects)Initializes the object with the given rectangles rects.
int pick()Returns a random integer point [u, v] inside the space covered by one of the given rectangles.