475. 供暖器
Posted panweiwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了475. 供暖器相关的知识,希望对你有一定的参考价值。
class Solution(object):
def findRadius(self, houses, heaters):
"""
:type houses: List[int]
:type heaters: List[int]
:rtype: int
"""
ans = []
heaters.sort()
for h in houses:
l, r = 0, len(heaters) - 1
while l < r:
mid = int((l + r) / 2)
if heaters[mid] < h:
l = mid + 1
else:
r = mid
# 若找到的值等于 house ,则说明 house 房屋处放有一个加热器,house 房屋到加热器的最短距离为 0
if heaters[l] == h:
ans.append(0)
# 若该加热器的坐标值小于 house ,说明该加热器的坐标与 house 之间没有别的加热器
elif heaters[l] < h:
ans.append(h - heaters[l])
# 若该加热器的坐标值大于 house 并且left不等于 0 ,说明 house 介于left和left-1之间,
# 房屋到加热器的最短距离就是left和left - 1处加热器与 house 差值的最小值
elif l:
ans.append(min(heaters[l] - h, h - heaters[l - 1]))
else:
ans.append(heaters[l] - h)
return max(ans)
以上是关于475. 供暖器的主要内容,如果未能解决你的问题,请参考以下文章