1. 解题思路
这一题的结果必然是一个网格分布,我们只需要考虑横向和纵向各自所需多少个sensor才能覆盖全部的网格,然后将两者相乘即可。
而考虑一个方向上要多少个sensor才能全覆盖,我们只需要考虑每一个sensor能够覆盖多少个节点即可,其能够覆盖的节点个数为 2 k + 1 2k+1 2k+1,因此我们只需要将总的网格数除以 2 k + 1 2k+1 2k+1然后进行上取整即可。
2. 代码实现
给出python代码实现如下:
class Solution:
def minSensors(self, n: int, m: int, k: int) -> int:
def fn(n):
return ceil(n / (2*k+1))
return fn(n) * fn(m)
提交代码评测得到:耗时1ms,占用内存18.04MB。
4201

被折叠的 条评论
为什么被折叠?



