Python 中的最小范围 I

pythonserver side programmingprogramming更新于 2023/11/9 17:15:00

假设我们有一个整数数组 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
  • difference := MAX - MIN
  • 如果 difference <0 非零,则
    • 返回 0
  • 否则返回 difference

让我们看看下面的实现以便更好地理解 −

示例

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

相关文章