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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP