2616. Minimize the Maximum Difference of Pairs
难度:Medium
class Solution:
def check(self, nums, p, x):
cnt = 0
flag = False
for i in range(1, len(nums)):
if not flag and nums[i]-nums[i-1] <= x:
flag = True
cnt += 1
else:
flag = False
if cnt >= p:
return True
if cnt >= p:
return True
else:
return False
def minimizeMax(self, nums: List[int], p: int) -> int:
nums.sort()
left = -1
right = nums[len(nums)-1] - nums[0] + 1
while left + 1 < right:
mid = (left + right) >> 1
if self.check(nums, p, mid):
right = mid
else:
left = mid
return right