题目形容
夏季曾经降临。你的工作是设计一个有固定加热半径的供暖器向所有屋宇供暖。
当初,给出位于一条水平线上的屋宇和供暖器的地位,找到能够笼罩所有屋宇的最小加热半径。
所以,你的输出将会是屋宇和供暖器的地位。你将输入供暖器的最小加热半径。
阐明:
给出的屋宇和供暖器的数目是非正数且不会超过 25000。
给出的屋宇和供暖器的地位均是非正数且不会超过 10^9。
只有屋宇位于供暖器的半径内 (包含在边缘上),它就能够失去供暖。
所有供暖器都遵循你的半径规范,加热的半径也一样。
示例 1:
输出: [1,2,3],[2]
输入: 1
解释: 仅在地位 2 上有一个供暖器。如果咱们将加热半径设为 1,那么所有屋宇就都能失去供暖。
解题思路
1、依据房子,找到最近的加热器的间隔(二分查找、快慢指针)
2、在所有的间隔中找到最小的
实现形式:
1、循环查找
2、迭代
3、快慢指针
语言积攒和技巧
1、边界场景解决起来须小心点
代码链接
https://github.com/lunaDolphi…
https://github.com/lunaDolphi…
https://github.com/lunaDolphi…