説明:
配列を指定しA
た整数の、それぞれの整数のためA[i]
、私たちはどんな選択できますx
とし-K <= x <= K
て、追加x
しますA[i]
。
この処理の後、我々はいくつかの配列を持っていますB
。
最大値と最小の差を返すB
との最小値B
。
例1:
入力: A = [1]、Kは、= 0
出力:0
説明:B = [1]
例2:
入力: A = [0,10]、K = 2
出力:6
説明:B = [2,8]
例3:
入力: A = [1,3,6]、Kは、= 3
出力:0
説明:B = [3,3,3]又はB = [4,4,4]
注意:
1 <= A.length <= 10000
0 <= A[i] <= 10000
0 <= K <= 10000
容認されました
29142
提出
44849
解決:
クラスソリューション{ 公共 のint smallestRangeI(int型 [] A、INT K){ 場合(A == NULL || A.length == 1 ){ 戻り 0 。 } は、Arrays.sort(A)。 INT第= A [0 ]。 INT最初= A [A.length -1 ]。 もし - (秒)<= 2 *(第K){ 戻り 0 。 } 他{ 戻り最初-第二- K - K。 } } }