拒絕取樣:如果生成的點不符合條件就再生成一次,直至生成的點符合條件
rand() 返回一隨機數值的範圍在 0 至 rand_max 間。
(double)rand()/rand_max就是0~1.0
2 * (double)rand()/rand_max - 1.0就是-1.0~1.0
class
solution
vector<
double
>
randpoint()
;}}private
:double r,xc,yc;};
/** * your solution object will be instantiated and called as such:
* solution* obj = new solution(radius, x_center, y_center);
* vectorparam_1 = obj->randpoint();
*/
478 在圓內隨機生成點
題目描述 給定圓的半徑和圓心的 x y 座標,寫乙個在圓中產生均勻隨機點的函式 randpoint 說明 輸入值和輸出值都將是浮點數。圓的半徑和圓心的 x y 座標將作為引數傳遞給類的建構函式。圓周上的點也認為是在圓中。randpoint 返回乙個包含隨機點的x座標和y座標的大小為2的陣列。示例 1...
Leetcode 478 在圓內隨機生成點
給定圓的半徑和圓心的 x y 座標,寫乙個在圓中產生均勻隨機點的函式 randpoint 說明 輸入值和輸出值都將是浮點數。圓的半徑和圓心的 x y 座標將作為引數傳遞給類的建構函式。圓周上的點也認為是在圓中。randpoint 返回乙個包含隨機點的x座標和y座標的大小為2的陣列。示例 1 輸入 s...
leetcode在圓內隨機生成點
1.拒絕取樣 在乙個半徑為r的圓內均勻隨機生成點,可以使用拒絕取樣 rand rand max隨機產生0 1之間的數,設其值為x,則2 x 1隨機產生 1 1之間的數 則 2 x 1 r則隨機產生 r r之間的數 對於y同理 如下 class solution vectorrandpoint you...