题目链接:475. 供暖器
对每一个房子,找到其最近的供暖器与它之间的距离。这些距离的最大值即供暖器的最小加热半径。
import bisect
from typing import List
class Solution:
def findRadius(self, houses: List[int], heaters: List[int]) -> int:
heaters, ans = sorted(heaters), 0
for house in houses:
j = bisect.bisect(heaters, house)
ans = max(ans, min(abs(heaters[j - 1] - house) if j > 0 else 1 << 31, abs(heaters[j] - house) if j < len(heaters) else 1 << 31))
return ans