假设我们有一个整数数组A,现在对于每个整数A [i],我们可以选择范围为[-K到K]的任何x,然后将x加到A [i]。现在,在完成此过程之后,我们有了一些数组B。我们必须找到B的最大值和B的最小值之间的最小可能差。
因此,如果输入像A = [0,10],K = 2,那么输出将是6,因为B = [2,8]
为了解决这个问题,我们将遵循以下步骤-
MAX:=(A的最大值)-K
MIN:=(A的最小值)+ K
差异:= MAX-MIN
如果差<0不为零,则
返回0
否则返回差额
让我们看下面的实现以更好地理解-
class Solution: def smallestRangeI(self, A, K): MAX = max(A)-K MIN = min(A)+K difference = MAX-MIN if difference <0: return 0 else: return difference ob = Solution()print(ob.smallestRangeI([0,10],2))
[0,10],2
输出结果
6