Generate Random Point in a Circle LeetCode solution in C++

1
class Solution {
2
public:
3
double r, x, y;
4
Solution(double radius, double x_center, double y_center) {
5
r = radius;
6
x = x_center;
7
y = y_center;
8
}
9

10
vector<double> randPoint() {
11
double x_r = ((double)rand() / RAND_MAX * (2 * r)) + (x - r);
12
double y_r = ((double)rand() / RAND_MAX * (2 * r)) + (y - r);
13

14
while (solve(x_r, y_r, x, y) >= r * r) {
15
x_r = ((double)rand() / RAND_MAX * (2 * r)) + (x - r);
16
y_r = ((double)rand() / RAND_MAX * (2 * r)) + (y - r);
17
}
18

19
return {x_r, y_r};
20
}
21

22
double solve(double x_r, double y_r, double x, double y) {
23
return (x - x_r) * (x - x_r) + (y - y_r) * (y - y_r);
24
}
25
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0