本文最后更新于:2022年11月2日 晚上
题目描述
思路和实现
能有什么思路啊?思路就是审题,别跟我一样一开始还以为求哪个塔的信号强度最高就好了,真的服了。
哦对了,注意一下“如果一个坐标跟塔的距离在 radius 以内”这句话,这个以内是小于等于,哈哈,翻译拖出去枪毙,不会翻译可以直接写 dis <= radius 好吗?
我想到的就是遍历求出每个点的信号强度,我还以为能有什么高手思路,结果是纯纯遍历题,就这还给了个中等,纯题目难读,不想多说了,就这样吧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Solution: def bestCoordinate(self, towers: List[List[int]], radius: int) -> List[int]: max_x = max(t[0] for t in towers) max_y = max(t[1] for t in towers) max_signal = ([0, 0], 0) for x in range(max_x + 1): for y in range(max_y + 1): tmp_signal = 0 for i2, t2 in enumerate(towers): if x == t2[0] and y == t2[1]: tmp_signal += t2[2] continue dis = math.sqrt((x - t2[0]) ** 2 + (y - t2[1]) ** 2) if dis <= radius: tmp_signal += int(t2[2] / (1 + dis)) if tmp_signal > max_signal[1]: max_signal = ([x, y], tmp_signal) return max_signal[0]
|
希望本文章能够帮到您~