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 次瀏覽

啟動你的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.