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
广告