Coordinate With Maximum Network Quality LeetCode solution in C++

1
class Solution {
2
public:
3
vector<int> bestCoordinate(vector<vector<int>> &towers, int radius) {
4
int n = towers.size();
5
int sum;
6
int ans = 0;
7
pair<int, int> ansCoor;
8
// Calculate for every 'x's and 'y's
9
for (int x = 0; x <= 50; x++) {
10
for (int y = 0; y <= 50; y++) {
11
sum = 0;
12
for (const auto it : towers) {
13
int xa = it[0];
14
int ya = it[1];
15
int qa = it[2];
16
// get the distance between the two points
17
int distance = pow(x - xa, 2) + pow(y - ya, 2);
18
if (distance > radius * radius) {
19
continue;
20
}
21
// increment the quality value
22
sum += (int)(qa / (1 + sqrt(distance)));
23
}
24
// store the maximum ans
25
if (sum > ans) {
26
ans = sum;
27
ansCoor = {x, y};
28
}
29
}
30
}
31
return vector<int>{{ansCoor.first, ansCoor.second}};
32
}
33
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0