Skip to content

Files

Latest commit

 

History

History
103 lines (52 loc) · 2.67 KB

File metadata and controls

103 lines (52 loc) · 2.67 KB

中文文档

Description

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:

    <li>An <strong>integer point</strong>&nbsp;is a point that has integer coordinates.&nbsp;</li>
    
    <li>A point&nbsp;on the perimeter&nbsp;of a rectangle is&nbsp;<strong>included</strong> in the space covered by the rectangles.&nbsp;</li>
    
    <li><code>i</code>th rectangle = <code>rects[i]</code> =&nbsp;<code>[x1,y1,x2,y2]</code>, where <code>[x1, y1]</code>&nbsp;are the integer coordinates of the bottom-left corner, and <code>[x2, y2]</code>&nbsp;are the integer coordinates of the top-right corner.</li>
    
    <li>length and width of each rectangle does not exceed <code>2000</code>.</li>
    
    <li><code>1 &lt;= rects.length&nbsp;&lt;= 100</code></li>
    
    <li><code>pick</code> return a point as an array of integer coordinates&nbsp;<code>[p_x, p_y]</code></li>
    
    <li><code>pick</code> is called at most <code>10000</code>&nbsp;times.</li>
    

Example 1:

Input: 

["Solution","pick","pick","pick"]

[[[[1,1,5,5]]],[],[],[]]

Output: 

[null,[4,1],[4,1],[3,3]]

Example 2:

Input: 

["Solution","pick","pick","pick","pick","pick"]

[[[[-2,-2,-1,-1],[1,0,3,0]]],[],[],[],[],[]]

Output: 

[null,[-1,-2],[2,0],[-2,-1],[3,0],[-2,-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.

 

Solutions

Python3

Java

...