class Heater: def findRadius(self, houses, heaters): heaters.sort() houses.sort() radius = 0 i = 0 heaters = [-1] + heaters + [float('inf')] for house in houses: while house > heaters[i]: i = i + 1 current_radius = min(house - heaters[i - 1], heaters[i] - house) radius = max(radius, current_radius) print(radius) houses = [1, 2, 3] heaters = [2] Heater().findRadius(houses, heaters) houses = [1, 2, 3, 4] heaters = [1, 4] Heater().findRadius(houses, heaters) houses = [1] heaters = [1, 2, 3, 4] Heater().findRadius(houses, heaters) houses = [282475249, 622650073, 984943658, 144108930, 470211272, 101027544, 457850878, 458777923] heaters = [823564440, 115438165, 784484492, 74243042, 114807987, 137522503, 441282327, 16531729, 823378840, 143542612] Heater().findRadius(houses, heaters)