Advertisement
Minimize the Heights II
JavaView on GFG
Minimize the Heights II.java
Java
import java.util.*;
class Solution {
int getMinDiff(int[] arr, int k) {
Arrays.sort(arr);
int n = arr.length;
int ans = arr[n - 1] - arr[0];
int l = arr[0] + k;
int r = arr[n - 1] - k;
for (int i = 0; i < n - 1; i++) {
int mini = Math.min(l, arr[i + 1] - k);
int maxi = Math.max(r, arr[i] + k);
if (mini >= 0)
ans = Math.min(ans, maxi - mini);
}
return ans;
}
}Advertisement
Was this solution helpful?