Python 中的最小范围 I


假设我们有一个整数数组 A,现在对于每个整数 A[i] 我们可以选择任何范围 [-K,K] 内的 x 然后将 x 加到 A[i]。现在经过这一过程,我们得到一些数组 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

更新日期: 04-7月-2020

361 次浏览

启动你的职业生涯

完成课程,获得认证

开始
广告