classSolution: defmaxDistance(self, position: List[int], m: int) -> int: position.sort() defcheck(x): ans = 1 pre = position[0] for i inrange(1,len(position)): if position[i]-pre >= x: ans += 1 pre = position[i] return ans >= m defsearch_II(check): left = 1 right = position[len(position)-1]-position[0] while left<=right: mid = (left+right)>>1 print(mid) if check(mid): left = mid+1 else: right = mid-1 return right return search_II(check)