LeetCode 497. 非重叠矩形中的随机点(前缀和+二分查找)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 497. 非重叠矩形中的随机点(前缀和+二分查找)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
給定一個非重疊軸對齊矩形的列表 rects,寫一個函數 pick 隨機均勻地選取矩形覆蓋的空間中的整數點。
提示: 整數點是具有整數坐標的點。 矩形周邊上的點包含在矩形覆蓋的空間中。 第 i 個矩形 rects [i] = [x1,y1,x2,y2],其中 [x1,y1] 是左下角的整數坐標,[x2,y2] 是右上角的整數坐標。 每個矩形的長度和寬度不超過 2000。 1 <= rects.length <= 100 pick 以整數坐標數組 [p_x, p_y] 的形式返回一個點。 pick 最多被調用10000次。示例 1: 輸入: ["Solution","pick","pick","pick"] [[[[1,1,5,5]]],[],[],[]] 輸出: [null,[4,1],[4,1],[3,3]]示例 2: 輸入: ["Solution","pick","pick","pick","pick","pick"] [[[[-2,-2,-1,-1],[1,0,3,0]]],[],[],[],[],[]] 輸出: [null,[-1,-2],[2,0],[-2,-1],[3,0],[-2,-2]]來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/random-point-in-non-overlapping-rectangles
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
類似題目:
LeetCode 528. 按權重隨機選擇(前綴和+二分查找)
- 按照總的點的個數均勻分配
- 計算每個矩形的點的個數,以及點個數的前綴和
- 二分查找查找隨機到的點所在的矩形,在該矩形內找到點的偏移位置
84 ms 63.2 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 497. 非重叠矩形中的随机点(前缀和+二分查找)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 第 207 场周赛(2
- 下一篇: 用Docker部署TensorFlow